实验四 MATLAB符号运算

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

实验四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)

>>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]

2、符号算术运算

(1) 符号量相乘、相除

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

>>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

(2) 符号数值任意精度控制和运算

任意精度的VPA 运算可以使用命令digits(设定默认的精度)和vpa(对指定对象以新的精度进行计算)来实现。

>>a=sym('2*sqrt(5)+pi')

>>b=sym(2*sqrt(5)+pi)

>>digits

>>vpa(a)

>>digits(15)

>>vpa(a)

>>c1=vpa(a,56)

>>c2=vpa(b,56)

注意:观察c1 和c2 的数据类型,c1 和c2 是否相等。

3、符号表达式的操作和转换

符号表达式化简主要包括表达式美化(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)

4、符号极限、符号积分与微分

(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次微分

5、符号方程的求解

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

相关文档
最新文档