MATLAB原理应用实验报告第三章(符号运算)

合集下载

MATLAB实验报告

MATLAB实验报告

MATLAB实验报告江苏科技⼤学《MATLAB实践》实验报告学号:1341901111姓名:符⾸夫计算机科学与⼯程学院2016.5.31实验⼀ MATLAB的基本使⽤⽅法实验⽬的和要求:通过完成实验⼀,掌握MATLAB的基本使⽤⽅法。

实验内容:(⼀)练习数据和符号输⼊法,将前⾯的命令在命令窗⼝中执⾏通过。

1)>>52)>>x=[1 2 3 4]3)>>g=[1 2 3 4];h=[4 3 2 1]>>s1=g+h, s2=g.*h, s3=g.^hS1=5 5 5 5S2=4 6 6 4S3=1 8 9 4(⼆)输⼊A=[715;256;315],B=[111;222;333],在命令窗⼝中执⾏下列表达式,掌握其含义。

源程序:>>A=[7 1 5;2 5 6;3 1 5];B=[1 1 1;2 2 2;3 3 3];>>A(2,3)>>A(:,2)>>A(:,1:2:3) % A数组中第⼀列和第三列>>A(3,:) %A数组中第三⾏>>A(:,3).*B(:,2) %A中第三列和B中第⼆列相乘>> A(:,3)*B(2,:) %A中第三列和B中第⼆⾏相乘竖着排,形成3*3矩阵>>A*B %A 与B数组相乘>>A.*B>>A^2>>A.^2 % A中所有数平⽅>>B/A %B矩阵除以A矩阵>>B./A % B中数除以A中对应位置数(三) 输⼊C=.1:2:20,则C (i )表⽰什么?其中i=1,2,3…10;源程序:>>c=1:2:20; >>c(1) >>c(10)实验⼆ MATLAB的数值计算实验⽬的和要求:通过完成实验⼆,掌握MATLAB的数值计算。

实验内容:(⼀) ⽤⼆分法计算多项式⽅程X^3-2X-5=0在[0,3]内的⼀个根。

MATLAB应用第三章-符号计算

MATLAB应用第三章-符号计算
第三章 MATLAB符号计算
3. 1 数据类型 3.2 符号运算
数学运算中除了数值运算外,还有大量抽象运算(计算式中带有符号变 量、表达式的运算)。Matlab就是利用maple软件的符号运算功能来实 现这些符号运算的。 Maple : 通用的数学和工程软件,是世界上最值得信赖、最完整的数学 软件之一,被高等院校、研究机构和公司广泛应用,用户渗透超过97% 的世界主要高校和研究所,超过81%的世界财富五百强企业。 Maple提供世界上最强大的符号计算,无与伦比的数值计算,支持 用户界面开发和网络发布,内置丰富的数学求解库,覆盖几乎所有的数 学分支,所有的操作都是在一个所见即所得的交互式技术文档环境中完 成,完成计算的同时也生成了专业技术文件和演示报告。 Maple不仅仅提供编程工具,更重要的是提供数学知识。Maple是 教授、研究员、科学家、工程师、学生们必备的科学计算工具,从简单 的数字计算到高度复杂的非线性问题,Maple都可以帮助您快速、高效 地解决问题。用户通过Maple产品可以在单一的环境中完成多领域物理 系统建模和仿真、符号计算、数值计算、程序设计、技术文件、报告演 示、算法开发、外部程序连接等功能,满足各个层次用户的需要,从高 中学生到高级研究人员。
格 Eg 3-2 补充。 补充。 2)char函数创建:char(‘string1’,’string2’, …); Eg 3-3 各个字符串不须同大小, 各个字符串不须同大小,该函数自动补充空白 字符。 字符。 Eg 3-4
字符串与单元 1)cellstr将字符数组转换成单元数组。 2)char函数将单元数组转换成字符数组。 数组的转换 字符串的比较 1)strcmp(a,b):比较两个字符串所有字符是
Grand total is 33 elements using 462 bytes

MATLAB实验三参考答案

MATLAB实验三参考答案

how =collect(x)
4、求下列函数的极限(写出命令) (1) lim
cos x e x 0 x4

x2 2
syms x; limit('(cos(x)-exp(-1/2*x^2))/(x^4)',x,0) -1/12 (2) lim
2 x ln 2 x 1 x 0 1 cos x
syms n; S=symsum(1/((3*n-2)*(3*n+1)),n,1,inf) 8、试求出函数 f ( x )
sin x 的麦克劳林幂级数展开式的前 9 项,并求出关于 x=2 x 3x 2
2
的 Taylor 幂级数展开式的前 5 项。(命令 taylor 或者 taylortool)
河南财经政法大学数学与信息科学学院 1
实验报告
结果: EXPR =(x^2+x*exp(-t)+1)*(x+exp(-t)) expr1 =x^3+2*exp(-t)*x^2+(1+exp(-t)^2)*x+exp(-t) expr2 =x*exp(-t)^2+(2*x^2+1)*exp(-t)+(x^2+1)*x 3、factor(因式分解),simple(简化运算,对表达式尝试多种不同的算法进行简化,并以最 简化形式给出,How 中记录的为简化过程中使用的方法, )指令的使用 syms a x; f1=x^4-5*x^3+x^2+5*x-6; factor(f1) x^4-5*x^3+x^2+5*x-6 f2=x^2-a^2; factor(f2) (x-a)*(x+a) f3=2*sin(x)^2-cos(x)^2 [y , how]=simple(f3) y 为 f 的最优化简形式,How 中记录的为简化过程中使用的方法 y =-3*cos(x)^2+2 how =simplify [y , how]=simple(f1) y =x^4-5*x^3+x^2+5*x-6

数学实验三MATLAB符号运算功能

数学实验三MATLAB符号运算功能

实验3 MATLAB符号运算功能一、实验目的:掌握MATLAB符号运算功能的基本使用方法1.符号矩阵的建立及符号矩阵的运算;2.符号矩阵的简化;3.符号矩阵的极限和微积分;4.代数方程求解;5.一元函数图象简易画法.二、实验内容:1.设)1xxg xe)=x(-(-1) 将)g写成MATLAB符号表达式;(x2) 求出符号表达式)g;('x3) 利用"subs"命令求出)4(g和)4('g;4) 利用"plot"命令画出函数)g在区间[-3,3]上的光滑图象;(x5) 利用"ezplot"命令画出函数)g在区间[-3,3]上的图象并与4)所得结果(x进行比较.编写以下程序:(1)>> syms x>> g=[x*(exp(x)-x-1)]g =(2) >> diff(g)ans =exp(x)-x-1+x*(exp(x)-1)(3) >> G=subs(g,[4])G =198.3926>> G1=subs(diff(g),4)G1 =263.9908(4)>> x=-3:0.01:3;y=x.*(exp(x)-x-1);>> plot(x,y)-3-2-10123-1001020304050(5)>> ezplot(g,[-3,3])-3-2-10123-551015202530x x (exp(x)-x-1)用ezplot 作图较精确。

2. 设)1()(1--=x e x x g x ,1)(22+=x x g1) 利用"ezplot "命令画图估计函数)(1x g 与)(2x g 图象交点的x 值;2) 利用"solve "命令求出函数)(1x g 与)(2x g 图象交点处x 的精确值.(1) 编写以下程序:>> ezplot(g1,[-2,2]);hold on,ezplot(g2,[-2,2]);hold off-2-1.5-1-0.500.51 1.5211.522.533.544.55x x 2+1g1和g2交点的x 值大概为1.5。

实验四 MATLAB符号运算

实验四 MATLAB符号运算

实验报告实验名称MATLAB数值运算指导教师魏永生专业光信班级14物81姓名达旭琦学号 *********实验四MATLAB符号运算一、实验目的掌握符号变量和符号表达式的创建,掌握MATLAB的symbol工具箱的一些基本应用。

二、实验内容(1) 符号变量、表达式、方程及函数的表示。

(2) 符号微积分运算。

(3) 符号表达式的操作和转换。

(4) 符号微分方程求解。

三、实验步骤1. 符号运算的引入>> f=sym('sin(pi*x)/x')f =sin(pi*x)/x>> limit(f,'x',0)ans =Pi2. 符号常量、符号变量、符号表达式的创建1) 使用sym( )创建> A=sym('1')A =1>> B=sym('x')B =x>> f=sym('2*x^2+3*y-1')f =2*x^2+3*y-1>> clear>> f1=sym('1+2')f1 =1+2>> f2=sym(1+2)f2 =3>> f3=sym('2*x+3')f3 =2*x+3>> f4=sym(2*x+3)f4 =52) 使用syms 创建>> clear>> syms x y z>> x,y,zx =xy =yz =z>> f1=x^2+2*x+1f1 =x^2+2*x+1>> f2=exp(y)+exp(z)^2f2 =exp(y)+exp(z)^2>> f3=f1+f2f3 =x^2+2*x+1+exp(y)+exp(z)^2>> f1=sym('x^2+y+sin(2)')f1 =x^2+y+sin(2)>> syms x y>> f2=x^2+y+sin(2)f2 =x^2+y+4095111552621091/4503599627370496>> x=sym('2'),y=sym('1')x =2y =1>> f3=x^2+y+sin(2)f3 =26613109689473571/4503599627370496>> y=sym('w')y =w>> f4=x^2+y+sin(2)f4 =22109510062103075/4503599627370496+w思考题:syms x 是不是相当于x=sym('x')?理解:这两个式子是不相同的。

MATLAB实验报告3-符号运算

MATLAB实验报告3-符号运算
>> F=subs(gy,{x,y},{x-1,y-2})
F =
((x - 1)^3 - 5)/(2*(x - 1)^2 + 7)
2)
>> clear
>> syms x y;
>> g=(x^3*y-5*y)/(2*x^2+7);
>> gxy=diff(diff(g,x),y);
>> G=subs(gxy,{x},{x-1})
>> int(y)
ans =
log(x + 1)
>> int(y,0,1)
ans =
log(2)
>> syms t;
>> int(y,0,t)
ans =
log(t + 1)
>> clear
>> syms x y;
>> z=sin(y)/(x^2*y+1);
>> int(z,-inf,+inf)
ans =
8.积分中值定理:设 ,存在 ,使得 .检验存在 ,使得 .
四、实验步骤和运行结果(如运行有错误,请指出)
1.
>> syms u v x;
>> f=sqrt(1+u^2);
>> g=log(v);
>> h=exp(-x);
>> p=compose(g,h)
p =
log(exp(-x))
>> compose(f,p)
(pi*sin(y))/y^(1/2)

实验三MATLAB的符号运算

实验三MATLAB的符号运算

实验三 MATLAB 的符号运算一 实验目的:1.掌握符号对象的创建及符号表达式化简的基本方法;2.掌握符号微积分、符号方程的求解的基本方法。

二 实验装置:计算机三 实验内容:1.符号对象的创建(1) 建立符号变量使用sym 函数把字符表达式'2*sin(x)*cos(x)'转换为符号变量。

2.符号表达式的化简(1)因式分解对表达式f=x 3-1 进行因式分解。

(2) 符号表达式的展开对符号表达式f=cos(x+y)进行展开。

(3)符号表达式的同类项合并对于表达式f=(2x 2*(x+3)-10)*t ,分别将自变量x 和t 的同类项合并。

(4)符号表达式的化简(5)符号表达式的分式通分对表达式 进行通分。

(6)符号表达式的替换用新变量替换表达式a+b 中变量b 。

3.符号微积分(1) 符号极限计算表达式 的极限。

(2)符号微分计算表达式f=sinx 的微分。

(3)符号积分。

例:简化32381261+++=xx x f 22x y y x f +=xtgx x lim 0→()⎰+dzz x31计算表达式 的积分。

(4)符号求和计算表达式 4.符号方程的求解求解代数方程组 四 实验要求:1.按照要求预习实验;2.在MATLAB 中运行实验程序验证仿真结果;3. 按照要求完成实验报告。

.10005∑k⎪⎩⎪⎨⎧=--=-+=+-043035218472z y x z y x z y x。

四MATLAB符号运算

四MATLAB符号运算

实验四 MATLAB符号运算一.实验目的掌握符号变量和符号表达式的创建,掌握matlab的symbol工具箱的一些基本应用。

二.实验内容(1)符号变量、表达式、方程及函数的表示。

(2)符号为积分运算。

(3)符号表达式的操作和转换。

(4)符号微分方程求解。

三.实验步骤1.符号运算的引入在数值运算中如果求lim(sin(pi*x)/x(x-0),则可以不断让x趋近0,一球的表达式趋近什么数,但是终究不能令x=0,在数值运算中0不能做除数。

Matlab的符号运算能解决这类问题。

输入如下命令:>> f=sym('sin(pi*x)/x')f =sin(pi*x)/x>> limit(f,'x',0)ans =pi2.符号常量、符号变量、符号表达式的创建1)使用sym()创建输入以下命令,观察workspace中a,b,f是什么类型的数据,占用多少字节的内存空间。

>> a=sym('1')a =1>> b=sym('x')b =x>> f=sym('2*x^2+3*y-1')f =2*x^2+3*y-1>> clear>> f1=sym('1+2'),f2=sym(1+2),f3=sym('2*x+3'),f4=sym(2*x+3)f1 =1+2f2 =3f3 =2*x+3??? Undefined function or variable 'x'.>> x=2,f4=sym(2*x+3)x =2f4 =7Sym()的参数可以是字符串或数值类型,无论你是哪种类型都会生成符号类型数据。

2)使用syms创建>> clear>> syms x y z>> x,y,zx =xy =yz =z>> f1=x^2+2*x+1f1 =x^2+2*x+1>> f2=exp(y)+exp(z)^2f2 =exp(y)+exp(z)^2>> f3=f1+f2f3 =x^2+2*x+1+exp(y)+exp(z)^2用符号类型的变量经过运算(加减乘除)得到。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《MATLAB原理及应用》实验报告第三章MATLAB的符号运算一.实验目的1、掌握符号对象的命名方法2、掌握符号表达式的基本运算3、掌握符号级数的求法二.实验设备计算机、MATLAB软件三.实验内容1.确定符号表达式的变量为了简化符号对象的操作和计算,MATLAB为用户提过了findsym命令。

r=findsym(S)确定符号表达式或者矩阵S中自由符号变量r=findsym(S,n)确定符号表达式或者矩阵S中靠近x最近的n个独立符号变量。

【实验3-1】使用MA TLAB的命令确定符号表达式的变量。

在MATLAB的命令窗口中输入下例内容:>> syms a x y z t确定下面简单符号表达式中的符号变量信息:>>findsym(sin(pi*t))ans =t确定下面简单符号表达式中的符号变量信息:>>findsym(x+i*y-j*z)ans =x, y, z确定下面简单符号表达式中的符号变量信息:>>findsym(a+y,1)ans =y2.符号表达式元算1.符号表达式的四则运算表达式的四则运算与数字运算一样,用+、-、/、运算符实现,其运算结果依然是一个符号表达式。

【实验3-2】在MATLAB的命令窗口中输入下例内容:>>f=sym('2*x^2+3*x-5');%定义符号表达式g=sym('x^2-x+7');f+gans =3*x^2+2*x+2ans =3*x^2+2*x+2>> f^gans =(2*x^2+3*x-5)^(x^2-x+7)3.符号表达式的提取分子和分母运算如果符号表达式是一个有理分式或可以展开为有理分式,可以可利用numden函数来提取符号表达式的分子或分母。

期一般调用格式为[n,d]=numden函数来提取符号表达式该函数提取的符号表达式s的分子和分母,分别将它们存放在n和d中。

【实验3-3】在MA TLAB的命令窗口中输入下例内容:>> f= sym('a*x/(b+x)');>> [n,d]=numden(f)n =a*xd =b+xnumden函数在提取各部分之前,将符号表达式有利化后返回所得分子和分母 >> g=sym('(x^2+3)/(2*x-1)+3*x/(x+1)');>> [n,d]=numden(g)n =x^3+7*x^2+3d =(2*x-1)*(x+1)如果符号表达式是一个符号矩阵,numden返回两个新矩阵n和d,其中n 是分子矩阵,d是分母矩阵。

>> h=sym('[3/2,(2*x+1)/3;a/x+a/y,x+4]')h =[ 3/2, (2*x+1)/3][ a/x+a/y, x+4]>> [n,d]=numden(h)n =[ 3, 2*x+1][ a*(y+x), x+4]d =[ 2, 3][ x*y, 1]4.符号表达式的因式分解与展开MATLAB提供了符号表达式分解与展开的函数,函数的调用格式为①factor(s) :对符号表达式s分解因式。

②expand(s):对符号表达式s进行展开。

③collect(s):对符号表达式s进行合并同类型。

④collect(S,v) 将表达式S中相同次幂的合并,v的默认值是x【实验3-4】>> syms x y下面简单符号表达式s1因式分解>> s1=x^3-y^3;>> factor(s1)ans =(x-y)*(x^2+x*y+y^2)下面简单符号表达式s2进行展开>> s2=(-7*x^2-8*y^2)*(-x^2+3*y^2);>> expand(s2)ans =7*x^4-13*x^2*y^2-24*y^4下面简单符号表达式s3按变量y合并同类型>> s3=(x+y)*(x^2+y^2+1);>> collect(s3,y)ans =y^3+x*y^2+(x^2+1)*y+x*(x^2+1)下面简单符号整数分解因式>> factor(sym(630))ans =(2)*(3)^2*(5)*(7)5.符号表达式的化简MATLAB提供的对符号表达式化简的函数如下Simplify(s) ;应用MuPAD简化规则对s进行化简。

Simple(s):调用MA TLAB的其他函数对表达式进行综合化简,并显示化简过程。

【实验3-5】在MATLAB的命令窗口中输入下例内容:>> s=sym('(x^2+5*x+6)/(x+2)');>> simplify(s)ans =x+3>> s=sym('[2*cos(x)^2-sin(x)^2,sqrt(16)]');>> simplify(s)ans =[ 3*cos(x)^2-1, 4]函数simple试用了几种不同的化简工具,然后选择在结果表达式中含有最少字符的那种形式。

下面是表达式cos(3arccos(x))的化简结果>> s=sym('cos(3*acos(x))');>> simple(s) %自动调用多种函数对s 化简,并显示每步结果显示一系列化简过程后,最后显示化简结果ans =4*x^3-3*x6.级数符号求和求无穷级数的和需要符号表达式求和函数symsum,其调用格式为Symsum(s,v,,n,m)其中s 表示一个级数的通项,是一个符号表达式。

v 是求和变量,v 省略时使用系统的默认变量。

n 和m 是求和的开始项和末项。

【实验3-6】求 +++++222131211k在MA TLAB 的命令窗口中输入下例内容:>> syms k>> symsum(1/k^2,k,1,inf)ans =1/6*pi^2>> eval(ans)ans =1.64497.符号微积分1.符号的积分符号积分由函数int 来实现,一般调用格式如下。

int(s):没有指定积分变量和积分阶数时,int(s,v): 义v 为自变量,对被积函数或符号表达式求不定积分。

int(s,v,a,b): 求定积分运算,a,b 分别表示定积分的上下限。

求函数的定积分【实验3-6】(1)dx x ⎰cos在MA TLAB 的命令窗口中输入下例内容:>> f=sym('cos(x)');>> int(f)ans =sin(x) 2.符号的微分diff 函数用于对符号表达式求导数,一般调用格式如下。

diff(s) :按findsym 函数指示的默认变量对符号表达式s 求一阶导数。

diff(s ,’v ’) :以v 为自变量,对符号表达式s 求一阶导数。

diff(s ,n) :按findsym 函数指示的默认变量对符号表达式s 求n 阶导数。

diff(s,’v’,n) ::以v为自变量,对符号表达式s求n阶导数。

【实验3-7】已知f(x)=ax2+bx+c,求f(x)的微分。

在MA TLAB的命令窗口中输入下例内容:>> f=sym('a*x^2+b*x+c');>> diff(f)ans =2*a*x+b8.符号方程的求解在MATLAB中,求解用符号表达式表示的代数方程可以用solve实现,其调用格式如下:solve(s):求解符号表达式s的代数方程,求解变量为默认变量。

solve(s,v):求解符号表达式s的代数方程,求解变量为vSolve (s1,s2…sn,v1,v2 …vn):求解符号表达式s1,s2…sn组成的代数方程,求解变量分别为v1,v2 …vn。

【实验3-8】求方程x2+2x+1=0的解在MATLAB的命令窗口中输入下例内容:>> f=sym('x^2+2*x+1=0');>> solve(f)ans =-1-19.课后练习题1.提取符号表达式222m z u ar +++的自由变量(当符号表达式中含有多余一个符号变量时,只有一个变量是独立变量,其余的符号当作常量。

如果不指定那一个变量当作是自由变量,matlab 将基于一定原则选择一个自由变量。

) 提示:findsym (s ,n )2.在MATLAB 中计算多项式2352212-+++-x x x x 的父母和分子 (提示:使用[n ,d]=numden (A ))2.1、建立符号函数5332232-+x x (1)提取该表达式的分子和分母,并分别付给两个变量(2)对这两个变量分别进行代数运算(加减乘除及乘方)3.在MA TLAB 中,按照不同的方式合并表达式)()(23x e y x y x ex y y --+*-+的参数类项。

3.1.按t e -来合并表达式))(1(2t t e x xe x --+++的同类项。

4、使用simple 和simplify 两个指令分别化简32381261+++=x x x f ,比较两个结果有什么不同 5.求级数1+x+x 2+…+x k+…和 +⋅⋅+⋅++321211132x x x 的和。

(使用symsum 函数) 6.分别求下例积分(1)dx x ⎰+211 (2)dx x b a ⎰+211 (3)dx x ⎰+212117. 2cos x y = 求'y 、''y 、'''y8. 求三元非线性方程组 ⎪⎩⎪⎨⎧-=⨯=+=++1430122z y zx x x 的解。

相关文档
最新文档