当前位置:文档之家› 实验四 MATLAB符号运算

实验四 MATLAB符号运算

实验四  MATLAB符号运算
实验四  MATLAB符号运算

实验四MATLAB符号运算

一、实验目的

掌握符号变量和符号表达式的创建,掌握MATLAB的symbol工具箱的一些基本应用。

二、实验内容

(1) 符号变量、表达式、方程及函数的表示。

(2) 符号微积分运算。

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

三、实验步骤

1. 符号运算的引入

在数值运算中如果求则可以不断地让x 趋近0,以求得表达式趋近什么数,

但是终究不能令x=0,因为在数值运算中0 是不能作除数的。MATLAB 的符号运算能解决这类问题。输入如下命令:

>>f=sym('sin(pi*x)/x ')

>>limit(f,’x’,0)

2. 符号常量、符号变量、符号表达式的创建

(1) 使用sym( )创建

输入以下命令,观察Workspace 中A、B、f是什么类型的数据,占用多少字节的内存空间。

>>A=sym('1') %符号常量

>>B=sym('x') %符号变量

>>f=sym('2*x^2+3y-1') %符号表达式

>>clear

>>f1=sym('1+2') %有单引号,表示字符串>>f2=sym(1+2) %无单引号

>>f3=sym('2*x+3')

>>f4=sym(2*x+3) %为什么会出错答:没有单引号!!!

>>x=1

>>f4=sym(2*x+3)

通过看MATLAB 的帮助可知,sym( )的参数可以是字符串或数值类型,无论是哪种类型都会生成符号类型数据。

(2) 使用syms 创建

>>clear

>>syms x y z %注意观察x,y,z都是什么类型的,它们的内容是什么

>>x,y,z

>>f1=x^2+2*x+1

>>f2=exp(y)+exp(z)^2

>>f3=f1+f2

通过以上实验,知道生成符号表达式的第二种方法:由符号类型的变量经过运算(加减乘除等)得到。又如:

>>f1=sym('x^2+y +sin(2)')

>>syms x y

>>f2=x^2+y+sin(2)

>>x=sym('2') , y=sym('1')

>>f3=x^2+y+sin(2)

>>y=sym('w')

>>f4=x^2+y+sin(2)

3. 符号矩阵创建

>>syms a1 a2 a3 a4

>>A=[a1 a2;a3 a4]

>>A(1),A(3)

或者

>>B=sym('[ b1 b2 ;b3 b4] ')

>>c1=sym('sin(x) ')

>>c2=sym('x^2')

>>c3=sym('3*y+z')

>>c4=sym('3 ')

>>C=[c1 c2; c3 c4]

4. 符号算术运算

符号量相乘、相除

符号量相乘运算和数值量相乘一样,分成矩阵乘和数组乘。

>>a=sym(5);b=sym(7);

>>c1=a*b

>>c2=a/b

>>a=sym(5);B=sym([3 4 5]);

>>C1=a*B, C2=a\B

>>syms a b

>>A=[5 a;b 3]; B=[2*a b;2*b a];

>>C1=A*B, C2=A.*B

>>C3=A\B, C4=A./B

5. 符号表达式的操作和转换

符号表达式化简主要包括表达式美化(pretty)、合并同类项(collect)、多项式展开(expand)、因式分解(factor)、化简(simple 或simplify)等函数。

①合并同类项(collect)。分别按x的同幂项和e指数同幂项合并表达式:

>>syms x t; f=(x^2+x*exp(-t)+1)*(x+exp(-t));

>>f1=collect(f)

>>f2=collect(f,’exp(-t)’)

②对显示格式加以美化(pretty)。针对上例,用格式美化函数可以使显示出的格式更符合数学书写习惯。

>>pretty(f1)

>>pretty(f2)

注意:与直接输出的f1 和f2 对比。

③多项式展开(expand)。展开(x-1)12 成x 不同幂次的多项式。

>>clear all

>>syms x;

>>f=(x-1)^12;

>>pretty(expand(f))

④因式分解(factor)。将表达式x12–1作因式分解。>>clear all

>> syms x; f=x^12-1;

>>pretty(factor(f))

⑤化简(simple 或simplify)。

将函数化简。

>>clear all, syms x; f=(1/x^3+6/x^2+12/x+8)^(1/3);

>>g1=simple(f)

>>g2=simplify(f)

6. 符号极限、符号积分与微分

(1) 求极限函数的调用格式

limit(F,x,a) %返回符号对象F 当x →a 时的极限

limit(F,a) %返回符号对象F 当独立变量*→a 时的极限 limit(F) %返回符号对象F 当独立变量→0(a=0)时的极限 limit(F,x,a,’right ’) %返回符号对象F 当x →a 时的右极限 limit(F,x,a,’left ’) %返回符号对象F 当x →a 时的左极限

(2) 求积分函数的调用格式

int(F) %求符号对象F 关于默认变量的不定积分 int(F,v) %求符号对象F 关于指定变量v 的不定积分

int(F,a,b) %求符号对象F 关于默认变量的从a 到b 的定积分 int(F,v,a,b) %求符号对象F 关于指定变量v 的从a 到b 的定积分

(3) 求微分函数的调用格式

diff(F) %求符号对象F 关于默认变量的微分 diff(F,v) %求符号对象F 关于指定变量v 的微分 diff(F,n) %求符号对象F 关于默认变量的n 次微分,n 为自然数1、2、3… diff(F, v,n) %求符号对象F 关于指定变量v 的n 次微分

7. 符号方程的求解

(1) 常规方程求解函数的调用格式

g = solve(eq) %求方程(或表达式或字串)eq 关于默认变量的解 g = solve(eq,var) %求方程(或表达式或字串)eq 关于指定变量var 的解 g = solve(eq1,eq2,...,eqn,var1,var2,...,varn) %求方程(或表达式或字串)组 eq1,eq2,...,eqn 关于指定变量组var1,var2,...,varn 的解

(2) 常微分方程求解

求解常微分方程的函数是 dsolve 。应用此函数可以求得常微分方程(组)的通解,以及给定边界条件(或初始条件)后的特解。 常微分方程求解函数的调用格式:

r = dsolve('eq1,eq2,...','cond1,cond2,...', 'v') r = dsolve('eq1','eq2',...,'cond1','cond2',...,'v') 说明:

① 以上两式均可给出方程 eq1、eq2 ...对应初始条件 cond1、cond2 ...之下的以 v 作为 解变量的各微分方程的解。

② 常微分方程解的默认变量为 t 。

③ 第二式中最多可接受的输入式是 12 个。 ④ 微分方程的表达方法。

在用MATLAB 求解常微分方程时, 用大写字母Dy 表示微分符号dx dy ,用D2y 表示2

2

dx y d ,

依次类推。

边界条件以类似于 y(a) = b 或 Dy(a) = b 的等式给出。其中 y 为因变量,a 、b 为常数。如果初始条件给得不够,求出的解则为含有 C1、C2 等待定常数的通解。

例如:求微分方程为y ’=2x 的通解。)'','*2('x x Dy dsolve y ==

四、实验要求

1、求

2、求函数的积分;求函数的导数。

3、计算定积分。

4、求下列线性方程组的解

5、求解当y(0)=2,z(0)=7时,微分方程组的解

五、实验报告

1、写出前面练习语句的注释;

2、写出实验计算的程序与结果;

3、写出实验体会。

六、心得体会

通过这章节的学习,我基本了解以及掌握了符号变量和符号表达式的创建,掌握了matlab的symbol工具箱的一些基本应用。这章中通过定义符号变量来解决符号的微积分运算和微分方程,符号变量的定义和常量之间的运算有很大的变化,这种方式很大程度上解决了我们数学中难以解决的问题,使matlab在数学中更加实用!

实验MATLAB符号运算

实验四 MATLAB 符号运算 一、实验目的 掌握符号变量和符号表达式的创建,掌握MATLAB 的symbol 工具箱的一些基本应用。 二、实验内容 (1) 符号变量、表达式、方程及函数的表示。 (2) 符号微积分运算。 (3) 符号表达式的操作和转换。 (4) 符号微分方程求解。 三、实验步骤 1. 符号运算的引入 在数值运算中如果求x x x πsin lim 0→,则可以不断地让x 接近于0,以求得表达式接近什么数,但是终究不能令0=x ,因为在数值运算中0是不能作除数的。MATLAB 的符号运算能解决这类问题。输入如下命令: >>f=sym('sin(pi*x)/x') >>limit(f,'x',0) >> f=sym('sin(pi*x)/x') f = sin(pi*x)/x >> limit(f,'x',0) ans = Pi 2. 符号常量、符号变量、符号表达式的创建 1) 使用sym( )创建 输入以下命令,观察Workspace 中A 、B 、f 是什么类型的数据,占用多少字节的内存空间。 >> A=sym('1') >> B=sym('x') >> f=sym('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) >> x=1 >> f4=sym(2*x+3) > 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) ??? Undefined function or variable 'x'. >> x=1 x = >> f4=sym(2*x+3) f4 =

实验MATLAB符号计算

实验四符号计算 符号计算的特点:一,运算以推理解析的方式进行,因此不受计算误差积累问题困扰;二,符号计算,或给出完全正确的封闭解,或给出任意精度的数值解(当封闭解不存在时);三,符号计算指令的调用比较简单,经典教科书公式相近;四,计算所需时间较长,有时难以忍受。 在MATLAB中,符号计算虽以数值计算的补充身份出现,但涉及符号计算的指令使用、运算符操作、计算结果可视化、程序编制以及在线帮助系统都是十分完整、便捷的。 MATLAB的升级和符号计算内核Maple的升级,决定着符号计算工具包的升级。但从用户使用角度看,这些升级所引起的变化相当细微。即使这样,本章还是及时作了相应的更新和说明。如MATLAB 6.5+ 版开始启用Maple VIII的计算引擎,从而克服了Maple V计算“广义Fourier变换”时的错误(详见第5.4.1节)。 5.1符号对象和符号表达式 5.1.1符号对象的生成和使用 【例5.1.1-1】符号常数形成中的差异 a1=[1/3,pi/7,sqrt(5),pi+sqrt(5)] % <1> a2=sym([1/3,pi/7,sqrt(5),pi+sqrt(5)]) % <2> a3=sym([1/3,pi/7,sqrt(5),pi+sqrt(5)],'e') % <3> a4=sym('[1/3,pi/7,sqrt(5),pi+sqrt(5)]') % <4> a24=a2-a4 a1 = 0.3333 0.4488 2.2361 5.3777 a2 = [ 1/3, pi/7, sqrt(5), 6054707603575008*2^(-50)] a3 = [ 1/3-eps/12, pi/7-13*eps/165, sqrt(5)+137*eps/280, 6054707603575008*2^(-50)] a4 = [ 1/3, pi/7, sqrt(5), pi+sqrt(5)] a24 = [ 0, 0, 0, 189209612611719/35184372088832-pi-5^(1/2)] 【例5.1.1-2】演示:几种输入下产生矩阵的异同。 a1=sym([1/3,0.2+sqrt(2),pi]) % <1> a2=sym('[1/3,0.2+sqrt(2),pi]') % <2> a3=sym('[1/3 0.2+sqrt(2) pi]') % <3> a1_a2=a1-a2 % a1 = [ 1/3, 7269771597999872*2^(-52), pi] a2 = [ 1/3, 0.2+sqrt(2), pi] a3 = [ 1/3, 0.2+sqrt(2), pi] a1_a2 = [ 0, 1.4142135623730951010657008737326-2^(1/2), 0]

MATLAB符号计算实验报告

实验六符号计算 学院:数计学院班级:1003班姓名:黄晓丹学号:1051020144 一、实验目的 1、了解富符号对象和数值对象之间的差别,以及它们之间的互相转换 2、了解符号运算和数值运算的特点、区别和优缺点 3、掌握符号对象的基本操作和运算,以及符号运算的基本运用 二、实验内容 1、符号常数形成和使用 (1)符号常数形成中的差异 >> a1=[1/3,pi/7,sqrt(5),pi+sqrt(5)] a1 = 0.3333 0.4488 2.2361 5.3777 >> a2=sym([1/3,pi/7,sqrt(5),pi+sqrt(5)]) a2 = [ 1/3, pi/7, sqrt(5),

6054707603575008*2^(-50)] >> a3=sym('[1/3,pi/7,sqrt(5),pi+sqrt(5)]') a3 = [ 1/3, pi/7, sqrt(5), pi+sqrt(5)] >> a24=a2-a3 a24 = [ 0, 0, 0, 189209612611719/35184372088832-pi-5^(1/2)] (2)把字符表达式转化为符号变量 >> y=sym('2*sin(x)*cos(x)') y = 2*sin(x)*cos(x) >> y=simple(y)

y = sin(2*x) (3)用符号计算验证三角等式 >> syms fai1 fai2;y=simple(sin(fai1)*cos(fai2)-cos(fai1)*sin(fai2)) y = sin(fai1-fai2) (4)求矩阵的行列式值、逆和特征值 >> syms a11 a12 a21 a22;A=[a11,a12;a21,a22] A = [ a11, a12] [ a21, a22] >> DA=det(A),IA=inv(A),EA=eig(A) DA =

matlab实验五多项式和符号运算

实验五:Matlab多项式和符号运算 一、实验目的 1.掌握Matlab多项式的运算。 2.了解符号运算。 二、实验内容 1.将多项式()(2)(3)(7)(1) =-+-+化为x的降幂排列。 P x x x x x syms x; y=(x-2)*(x+3)*(x-7)*(x+1); expand(y) ans = x^4-5*x^3-19*x^2+29*x+42 2.求一元高次方程的根。 98765432 --++--++= 53015027313658204100576-28800 x x x x x x x x x syms x y; y=x^9-5*x^8-30*x^7+150*x^6-1365*x^4-820*x^3+410 0*x^2+576*x-2880; solve(y,x) ans = 6.81947687944124431946 1.42761488953013276419+.8192491831*i 2.865487219+2.49263348244446271927*i

-1.887673354+1.812452594*i -.9583509633 -5.922730991 -1.887673354-1.812452594*i 2.865487219-2.49263348244446271927*i 1.42761488953013276419-.8192491831*i 3.求一元高次方程的根,并画出左边多项式函数在[2,2] x∈-区间内的曲线。 42 -+= x x 210 a=[1 0 -2 0 1]; r=roots(a) syms x; x=-2:2; y=[1 0 -2 0 1]; plot(x,y) r = 1.0000 + 0.0000i 1.0000 - 0.0000i -1.0000 -1.0000

matlab符号计算实验报告

1. 已知x=6,y=5, 利用符号表达式求z =>> syms x >> z=(x+1)/(sqrt(x+3)-sqrt(y)); >> subs(z,x,5) ans =6/(8^(1/2)-y^(1/2)) >> subs(ans,6) ans = 15.8338 2. 分解因式。 (1)x y -44; >> syms x y >> factor(x^4-y^4) ans =(x-y)*(x+y)*(x^2+y^2) (2)x x x +++642 12575151 >> syms x >> factor(125*x^6+75*x^4+15*x^2+1) ans =(5*x^2+1)^3 3. 化简表达式 (1)sin cos cos sin ββββ-1212; >> syms x y >> f=sin(x).*cos(y)-cos(x).*sin(y); >> sfy1=simple(f) 结果:sfy1 =sin(x-y) (2)x x x +++248321 >> syms x >> f=(4*x^2+8*x+3)/(2*x+1);sfy1=simplify(f) sfy1 =2*x+3 4、求下列极限,将完成实验的程序写到文件sy1.m 中: (1) (2) (3) (4) (5) (1)>> syms x >> F1=atan(x)/(x); >> w=limit(F1) w =1 (2)>> syms x F2=((1+x)/(1-x))^(1/x); >> w=limit(F2) w =exp(2) (3)>> syms x F3=(x.*log(1+x))/(sin(x^2)); >> w=limit(F3) w =1 (4)>> syms x F4=atan(x)/(x); >> w=limit(F4,x,inf) w =0 (5)>> syms x F5=(1/(1-x)-1/(1-x^3)); >> w=limit(F5,x,1) w =NaN 5、求下列函数的导数,将完成实验的程序写到文件sy2.m 中: 1、 >> x = sym('x'); >> y1=(cos(x))^3-cos(3*x); >> diff(y1)ans =-3*cos(x)^2*sin(x)+3*sin(3*x) 2、 >> x = sym('x'); >> y2=x.*sin(x).*(log(x)); >> diff(y2)ans =sin(x)*log(x)+x*cos(x)*log(x)+sin(x) 3、 >> x = sym('x'); >> y3=(x.*exp(x)-1)/sin(x); >> diff(y3) ans =(exp(x)+x*exp(x))/sin(x)-(x*exp(x)-1)/sin(x)^2*cos(x) 4、 x x x x F 1011lim 2??? ??-+=→3 1115lim()11x F x x →=---20sin )1ln(lim 3x x x F x +=→x x F x arctan lim 10→=arctan 4lim x x F x →∞=x x y 3cos cos 13-=x x x y ln sin 2=x xe y x sin 13-=cos x y e x =

实验3 Matlab 符号运算及求函数极值

实验3 Matlab 符号运算及求函数极值一、实验目的和要求 掌握用Matlab软件进行符号运算以及求函数的极值。 二、实验环境 Windows系列操作系统,Matlab软件。 三、实验内容 1.用MATLAB进行符号运算; 2.编程求函数的极值。 四、实验步骤 3.开启软件平台——Matlab,开启Matlab编辑窗口; 4.根据求解步骤编写M文件; 5.保存文件并运行; 6.观察运行结果(数值或图形); 7.根据观察到的结果和体会写出实验报告。 五、示例 1.计算一元函数的极值 例1求 2 2 344 1 x x y x x ++ = ++ 的极值 解首先建立函数关系: s yms x y=(3*x^2+4*x+4)/( x^2+x+1); 然后求函数的驻点: dy=diff(y); xz=solve(dy) xz= [0] [-2] 知道函数有两个驻点x 1=0和x 2 =-2, 接下来我们通过考察函数的图形,则它的极值情况和许多其它特性是一目了然的。而借助MATLAB的作图功能,我们很容易做到这一点。 例2 画出上例中函数的图形

解 syms x y=(3*x^2+4*x+4)/( x^2+x+1); 得到如下图形 ezplot(y) 2.计算二元函数的极值 MATLAB 中主要用diff 求函数的偏导数,用jacobian 求Jacobian 矩阵。 例1 求函数42823z x xy y =-+-的极值点和极值. 首先用diff 命令求z 关于x,y 的偏导数 >>clear; syms x y; >>z=x^4-8*x*y+2*y^2-3; >>diff(z,x) >>diff(z,y) 结果为 ans =4*x^3-8*y ans =-8*x+4*y 即348,84z z x y x y x y ??=-=-+??再求解方程,求得各驻点的坐标。一般方程组的符号解用solve 命令,当方程组不存在符号解时,solve 将给出数值解。求解方程的MA TLAB 代码为:

MATLAB实验——符号运算讲解

实验一符号运算 班级:电气4班姓名:叶元亮学号:B2012052409 一、实验目的 1、了解符号、数值、字符等数据类型的差别 2、了解符号运算的特点、优缺点 3、掌握符号变量的创建和运算,以及其运算的基本应用 4、掌握基本的符号绘图指令 二、实验内容 1、指出下面的 M1,M2,M3 分别是什么,并上机验证。 取a=1、b=2、c=3、d=4,M1=[a,b;c,d],M2='[a,b;c,d]',M3=sym('[a,b;c,d]'); >> a=1,b=2,c=3,d=4 a = 1 b = 2 c = 3 d = 4 >> M1=[a,b;c,d] M1 =

1 2 3 4 >> M2='[a,b;c,d]' M2 = [a,b;c,d] >> M3=sym('[a,b;c,d]') M3 = [ a, b] [ c, d] 结论:M1是矩阵,2是字符串,M3是字符变量。 2、下面2种取值情况下,计算b a b a- + 并赋给相应情况下的c1、c2,问c1、c2相等吗,为什么?上机验证。 (1) a1=1010; b1=10-10; (2)将a1、a2作为符号变量赋给a2、b2; >> a1=1e10; b1=1e-10; >> c1=(a1+b1-a1)/b1 c1 = >> a2=sym(a1); b2=sym(b1); >> c2=(a2+b2-a2)/b2 c2 = 1

结果:c1~=c2,因为c1=0,c2=1,a1、b1是具体的数值,a2、b2是符号变量。 3、符号表达式中自由变量的确定生成符号变量a 、b 、x 、X 、Y 、 k=3、z=a y w c sin +,表达式为 Y k bx azX f )(2++=。 (1)找出f 中的全部自由符号变量 (2)在f 中确定最优先的自由符号变量 (3)在f 中确定2个和3个自由变量时的执行情况 (4)试通过对各符号变量与x 的ASCII 值做绝对差值,分析自 由变量优秀顺序,能得出什么结论? >> syms a b x X Y k=sym('3'); z=sym('c*sqrt(w)+y*sin(a)'); f=a*z*X+(b*x^2+k)*Y; >> findsym(f) ans = X, Y, a, b, c, w, x, y >> findsym(f,1) ans = x >> findsym(f,2) ans = x,y

实验二2MATLAB地符号计算与可视化

实验二MATLAB的符号计算与可视化 1:完成教材实验三第1节“1.创建符号表达式和符号表达式的操作”中(1)-(5)部分的内容,分别用sym和syms创建符号表达式f和g,并对它们进行相关操作,思考每一条命令的作用是什么,并提交命令行和结果; (1)创建符号变量。 ①使用sym命令创建符号表达式: >> f=sym('sin(x)') f = sin(x) >> g=sym('y/exp(-2*t)') g = y*exp(2*t) ②使用syms命令创建符号表达式: >> syms x y t >> f=sym(sin(x)) f = sin(x) >> g=sym(y/exp(-2*t)) g = y*exp(2*t) (2):自由变量的确定:

>> symvar(g) ans = [ t, y] >> symvar(g,1) ans = y >> findsym(g,2) ans = y,t (3):用常数替换符号变量: >> x=0:10; >> y=subs(f,x) y = Columns 1 through 8 0 0.8415 0.9093 0.1411 -0.7568 -0.9589 -0.2794 0.6570 Columns 9 through 11 0.9894 0.4121 -0.5440 练习:用y替换x,查看结果及其数据类型。 z=subs(f,y) z = Columns 1 through 8

0 0.7456 0.7891 0.1407 -0.6866 -0.8186 -0.2758 0.6107 Columns 9 through 11 0.8357 0.4006 -0.5176 >> class(z) ans = double (4):符号对象与数值的转换和任意精度控制: >> f1=subs(f,'5') f1 = sin(5) >> y1=double(f1) y1 = -0.9589 >> y2=eval(f1) y2 = -0.9589 练习:将y1用sym函数转换为符号对象,并用’d’,’f’,’e’,’r’4种格式表示。>> y2=sym(y1,'d') y2 = -0.95892427466313845396683746002964

实验四 MATLAB符号运算

实验四MATLAB符号运算 一、实验目的: 1、掌握定义符号对象的方法; 2、掌握符号表达式的运算法则以及符号矩阵运算。 3、掌握求符号函数极限及导数的方法。 4、掌握求符号函数定积分和不定积分的方法。 二、实验原理 1、符号常量、符号变量、符号表达式的创建 (1) 使用sym( )创建 输入以下命令,观察Workspace 中A、B、f是什么类型的数据,占用多少字节的内存空间。 >>A=sym('1') %符号常量 >>B=sym('x') %符号变量 >>f=sym('2*x^2+3y-1') %符号表达式 >>clear >>f1=sym('1+2') %有单引号,表示字符串 >>f2=sym(1+2) %无单引号 >>f3=sym('2*x+3') >>f4=sym(2*x+3) %为什么会出错 >>x=1 >>f4=sym(2*x+3) 通过看MATLAB 的帮助可知,sym( )的参数可以是字符串或数值类型,无论是哪种类型都会生成符号类型数据。 (2) 使用syms 创建 >>clear >>syms x y z %注意观察x,y,z都是什么类型的,它们的内容是什么 >>x,y,z >>f1=x^2+2*x+1 >>f2=exp(y)+exp(z)^2 >>f3=f1+f2 通过以上实验,知道生成符号表达式的第二种方法:由符号类型的变量经过运算(加减乘除等)得到。又如: >>f1=sym('x^2+y +sin(2)') >>syms x y >>f2=x^2+y+sin(2) >>x=sym('2') , y=sym('1') >>f3=x^2+y+sin(2)

2014秋实验四_MATLAB的符号计算二

2014年10月26日星期日 湖北科技学院 MATLAB 专业:电气工程及其自动化班级:电气一班 姓名:尹锥(133521015)指导教师:刘芳华 电子与信息工程学院

实验四MATLAB的符号计算(二) 一、实验目的 1.掌握MATLAB7.0 subs、simple、simplify、finverse等函数的应用; 2.掌握利用MATLAB7.0计算极限和级数的方法,计算复合、反函数的方法; 3.了解利用MATLAB7.0计算taylor级数。 4.掌握利用MATLAB7.0来求解常微分方程的方法。 5.掌握利用MATLAB7.0符号计算中的ezplot及ezplot3绘图方法。 二、实验内容 1.设x为符号变量, 42 ()21 f x x x =++,32 ()635 g x x x x =+++,试进行如下运算。 (1) ()() f x g x +, (2) ()() f x g x ?, (3)对 () f x进行因式分解, (4)求 () g x的反函数。 2

2.(1)指出下面程序中的f1、f2、f3、f4、f5的值。f5=subs(f,{a,x},{0:6,0:pi/6:pi}) 3

(2)指出下面替换的结果。 3. 用符号计算验证三角等式: sin(?1)cos(?2)-cos(?1)sin(?2) =sin(?1-?2) 4

4.设,求 7.求微分方程的解:y'''-y''=x,y''(2)=4,y'(1)=7,y(1)=8 5

8.计算函数级数 2 1 n x S n ∞ = =∑ 9. f(x)=e x分别求5阶、6阶泰勒展开式 10.符号函数绘图法绘制函数x=sin(3t)cos(t),y=sin(3t)sin(t)的图形,t的变化范围为[0,2π]。 6

实验 MATLAB符号运算功能

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

263.9908 2. 设)1()(1--=x e x x g x ,1)(22+=x x g 1)利用"ezplot "命令画图估计函数)(1x g 与)(2x g 图象交点的x 值; 2) 利用"solve "命令求出函数)(1x g 与)(2x g 图象交点处x 的精确值. 3. 说明下面程序中每个命令的作用: syms x h f = exp(sin(x)) m = (subs(f, x+h)-f)/h f1 = limit(m, h, 0) subs(f1, pi) X = -10:.05:10; F = subs(f, X); F1 = subs(f1, X); plot(X, F, ’b’, X, F1, ’r’) 解释程序运行的结果. 4. 设)3cos ()(+-=x e x x f x 1) 利用定积分的定义(无限求和)计算?3 0)(dx x f 的近似值(有限求和),改变求和的项数对结果的变化进行比较; 2) 利用符号积分的命令"int "计算?3 0)(dx x f 的值,并与1)所得结果进行比较。

MATLAB实验一——符号运算(学)

实验一 符号运算 要求:报告应写出相应的实验程序代码,相关绘图应截图保存。 一、实验目的 1、了解符号、数值、字符等数据类型的差别 2、了解符号运算的特点、优缺点 3、掌握符号变量的创建和运算,以及其运算的基本应用 4、掌握基本的符号绘图指令 二、实验内容 1、指出下面的 M1,M2,M3 分别是什么,并上机验证。 取a=1、b=2、c=3、d=4,M1=[a,b;c,d],M2='[a,b;c,d]',M3=sym('[a,b;c,d]'); 2、下面2种取值情况下,计算b a b a -+并赋给相应情况下的c1、 c2,问c1、c2相等吗,为什么?上机验证。 (1) a1=1010; b1=10-10; (2) 将a1、a2作为符号变量赋给a2、b2; 3、符号表达式中自由变量的确定生成符号变量a 、b 、x 、X 、Y 、 k=3、z=a y w c sin +,表达式为 Y k bx azX f )(2++=。 (1)找出f 中的全部自由符号变量

2 (2)在f 中确定最优先的自由符号变量 (3)在f 中确定2个和3个自由变量时的执行情况 (4)试通过对各符号变量与x 的ASCII 值做绝对差值,分析自 由变量优秀顺序,能得出什么结论? 4、已知432432)(x x x x x f +++-=, 965)(25+-=x x x g 。做符号运算,化简并计算: (1))()(x g x f ?;)(/)(x g x f ;)(\)(x g x f (2)?dx x f )(;?21)(dx x g ;22)(dx x f d ;)()(lim 0x g x f x → 5、用ezplot 命令绘出 2sin()y x x =在[-4,4]之间的图像。 6、用ezsurf 命令绘出单位球的曲面图像

实验 MATLAB符号运算功能

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

263.9908 2. 设)1()(1--=x e x x g x ,1)(22+=x x g 1)利用"ezplot "命令画图估计函数)(1x g 与)(2x g 图象交点的x 值; 2) 利用"solve "命令求出函数)(1x g 与)(2x g 图象交点处x 的精确值. 3. 说明下面程序中每个命令的作用: syms x h f = exp(sin(x)) m = (subs(f, x+h)-f)/h f1 = limit(m, h, 0) subs(f1, pi) X = -10:.05:10; F = subs(f, X); F1 = subs(f1, X); plot(X, F, ’b’, X, F1, ’r’) 解释程序运行的结果. 4. 设)3cos ()(+-=x e x x f x 1) 利用定积分的定义(无限求和)计算?3 0)(dx x f 的近似值(有限求和),改变求和的项数对结果的变化进行比较; 2) 利用符号积分的命令"int "计算?3 0)(dx x f 的值,并与1)所得结果进行比较。

相关主题
相关文档 最新文档