2.1-数学软件 Matlabppt课件_第1页
2.1-数学软件 Matlabppt课件_第2页
2.1-数学软件 Matlabppt课件_第3页
2.1-数学软件 Matlabppt课件_第4页
2.1-数学软件 Matlabppt课件_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数学软件数学软件 Matlab Matlab 符号运算符号运算本讲主要内容本讲主要内容n Matlab 符号运算介绍符号运算介绍n 符号对象与基本符号运算符号对象与基本符号运算n findsym 和和 subsn 六类常见的符号计算六类常见的符号计算符号运算符号运算l 计算以推理方式进行,不受计算误差累积所带来的困扰计算以推理方式进行,不受计算误差累积所带来的困扰 l 符号计算指令的调用比较简单,与教科书上的公式相近符号计算指令的调用比较简单,与教科书上的公式相近 l 符号计算可以给出完全正确的封闭解,或任意精度的数符号计算可以给出完全正确的封闭解,或任意精度的数值解封闭解不存在时值解封闭解不

2、存在时 )l 符号计算所需的运行时间相对较长符号计算所需的运行时间相对较长q 符号运算的特点符号运算的特点 Matlab 符号运算符号运算l Matlab 符号运算是通过符号数学工具箱符号运算是通过符号数学工具箱Symbolic Math Toolbox来实现的。来实现的。 l Matlab 的符号数学工具箱可以完成几乎所有得符号运的符号数学工具箱可以完成几乎所有得符号运算功能,如:符号表达式的运算,符号矩阵的运算,符号算功能,如:符号表达式的运算,符号矩阵的运算,符号微积分,符号作图,符号代数方程求解,符号微分方程求微积分,符号作图,符号代数方程求解,符号微分方程求解等。解等。l 此外,该工

3、具箱还支持可变精度运算,即支持以指定的此外,该工具箱还支持可变精度运算,即支持以指定的精度返回结果。精度返回结果。 q Matlab 符号运算符号运算 符号运算举例符号运算举例l 求一元二次方程求一元二次方程 ax2 + bx + c = 0 的根的根 solve(a solve(a* *x2+bx2+b* *x+c=0)x+c=0)l 求的根求的根 f (x) = (cos x)2 的一次导数的一次导数 x=sym(x); x=sym(x); diff(cos(x)2) diff(cos(x)2)l 计算计算 f (x) = x2 在区间在区间 a, b 上的定积分上的定积分 syms a

4、b x; syms a b x; int(x2,a,b) int(x2,a,b)l 符号对象:在进行符号运算时,必须先定义基本的符号对符号对象:在进行符号运算时,必须先定义基本的符号对象,可以是符号常量、符号变量、符号表达式等象,可以是符号常量、符号变量、符号表达式等 l 符号对象是一种数据结构符号对象是一种数据结构 符号对象符号对象l 符号表达式:含有符号对象的表达式称符号表达式:含有符号对象的表达式称l 符号矩阵符号矩阵/数组:元素为符号表达式的矩阵数组:元素为符号表达式的矩阵/数组数组 l sym 函数用来建立单个符号变量,一般调用格式为:函数用来建立单个符号变量,一般调用格式为:q 符

5、号对象的定义符号对象的定义/声明:声明:sym、syms符号对象的建立符号对象的建立例:例: a=sym(a) a=sym(a) 符号变量符号变量 = sym(x)参数参数 x 可以是一个数或数值矩阵,也可以是字符串可以是一个数或数值矩阵,也可以是字符串a 是符号变量是符号变量b 是符号常量是符号常量 b=sym(1/3) b=sym(1/3)C 是符号矩阵是符号矩阵 C=sym(1 ab; c d) C=sym(1 ab; c d)符号对象的建立符号对象的建立syms 符号变量符号变量1 符号变量符号变量2 . 符号符号变量变量n 例:例: syms a b c syms a b c a=s

6、ym(a); a=sym(a); b=sym(b); b=sym(b); c=sym(c); c=sym(c);q 符号对象的定义符号对象的定义/声明:声明:sym、symsl syms 命令用来建立多个符号变量,一般调用格式为:命令用来建立多个符号变量,一般调用格式为:例:例:l 建立符号表达式通常有以下建立符号表达式通常有以下 2 种方法:种方法:l (1) 用用 sym 函数直接建立符号表达式。函数直接建立符号表达式。 (2) 使用已经定义的符号变量组成符号表达式。使用已经定义的符号变量组成符号表达式。 y=sym(sin(x)+cos(x) y=sym(sin(x)+cos(x) x=

7、sym(x); x=sym(x); y=sin(x)+cos(x) y=sin(x)+cos(x)符号表达式符号表达式 syms x; syms x; y=sin(x)+cos(x) y=sin(x)+cos(x)q 符号表达式:含符号对象的表达式符号表达式:含符号对象的表达式Matlab 符号运算采用的运算符和基本函数,在形状、名称符号运算采用的运算符和基本函数,在形状、名称和使用上,都与数值计算中的运算符和基本函数完全相同和使用上,都与数值计算中的运算符和基本函数完全相同基本符号运算基本符号运算l 普通运算:普通运算:+ - * / l 数组运算:数组运算:.* . ./ .l 矩阵转置:

8、矩阵转置: .例:例: X=sym(x11,x12;x21,x22;x31,x32); X=sym(x11,x12;x21,x22;x31,x32); Y=sym(y11,y12,y13;y21,y22,y23); Y=sym(y11,y12,y13;y21,y22,y23); Z1=X Z1=X* *Y; Z2=X.Y; Z2=X.* *Y;Y;q 基本运算符基本运算符符号对象的基本运算符号对象的基本运算sin、cos、tan、cot、sec、csc、asin、acos、atan、acot、asec、acsc、exp、log、sqrt、log2、log10、abs、conj、real、ima

9、g、rank、det、inv、eig、diag、triu、tril、expm、三角函数与反三角函数、指数函数、对数函数等三角函数与反三角函数、指数函数、对数函数等q 基本函数基本函数若表达式中有两个符号变量与若表达式中有两个符号变量与 x 的距离相等,的距离相等,则则ASCII 码大者优先。码大者优先。findsymfindsym(expr)按字母顺序列出符号表达式按字母顺序列出符号表达式 expr 中的所有符中的所有符号变量号变量findsym(expr, N)按顺序列出按顺序列出 expr 中离中离 x 最近的最近的 N 个符号个符号变量变量常量常量 pi, i, j 不作为符号变量不作为

10、符号变量q 查寻符号表达式中的符号变量查寻符号表达式中的符号变量例:例: f=sym(2 f=sym(2* *w-3w-3* *y+z2+5y+z2+5* *a)a) findsym(f) findsym(f) findsym(f,3) findsym(f,3) findsym(f,1) findsym(f,1)findsym 举例举例subssubs(f,x,a) 用用 a 替换字符函数替换字符函数 f 中的字符变量中的字符变量 x a 是可以是是可以是 数数/数值变量数值变量/表达式表达式 或或 字符变字符变量量/表达式表达式假设假设 x 是一个由多个字符变量组成的数组或矩阵,是一个由多个

11、字符变量组成的数组或矩阵,那么那么 a 应该具有与应该具有与 x 相同的形状的数组或矩阵。相同的形状的数组或矩阵。q 符号替换符号替换l 用给定的数据替换符号表达式中的指定的符号变量用给定的数据替换符号表达式中的指定的符号变量subs 举例举例 f=sym(2 f=sym(2* *u);u); subs(f,u,2) subs(f,u,2) f2=subs(f,u,u+2) f2=subs(f,u,u+2) a=3; a=3; subs(f2,u,a+2) subs(f2,u,a+2) subs(f2,u,a+2) subs(f2,u,a+2) syms x y syms x y f3=sub

12、s(f,u,x+y) f3=subs(f,u,x+y) subs(f3,x,y,1,2) subs(f3,x,y,1,2)ans=4f2=2*(u+2)ans=14ans=2*(a+2)+2)f3=2*x+2*yans=6例:指出下面各条语句的输出结果例:指出下面各条语句的输出结果f=2*u下面的命令运行结果会是什么?下面的命令运行结果会是什么? subs(f3,x,y,x+y,x+y) subs(f3,x,y,x+y,x+y)R2019版本已修正版本已修正符号矩阵符号矩阵 A=sym(1+x, sin(x); 5, exp(x) A=sym(1+x, sin(x); 5, exp(x)l 使

13、用使用 sym 函数直接生成函数直接生成l 将数值矩阵转化成符号矩阵将数值矩阵转化成符号矩阵l 符号矩阵中元素的引用和修改符号矩阵中元素的引用和修改 B=2/3, sqrt(2); 5.2, log(3); B=2/3, sqrt(2); 5.2, log(3); C=sym(B) C=sym(B) A=sym(1+x, sin(x); 5, exp(x); A=sym(1+x, sin(x); 5, exp(x); A(1,2) % A(1,2) % 引用引用 A(2,2)=sym(cos(x) % A(2,2)=sym(cos(x) % 重新赋值重新赋值六类常见符号运算六类常见符号运算q

14、因式分解、展开、合并、简化及通分等因式分解、展开、合并、简化及通分等q 计算极限计算极限q 计算导数计算导数q 计算积分计算积分q 符号求和符号求和q 代数方程和微分方程求解代数方程和微分方程求解因式分解因式分解factor( f ) syms x; f=x6+1; syms x; f=x6+1; factor( f ) factor( f )l factor 也可用于正整数的分解 s=factor(100) s=factor(100) factor(sym(12345678901234567890) factor(sym(12345678901234567890)l 大整数的分解要转化成符号

15、常量大整数的分解要转化成符号常量例:例:例:例:函数展开函数展开expand( f ) syms x; f=(x+1)6; syms x; f=(x+1)6; expand( f ) expand( f )l 多项式展开l 三角函数展开 syms x y; f=sin(x+y); syms x y; f=sin(x+y); expand( f ) expand( f )合并同类项合并同类项collect(f,v): 按指定变量按指定变量 v 进行合并进行合并collect( f ) : 按默认变量进行合并按默认变量进行合并 syms x y; syms x y; f= x2 f= x2* *y

16、 + yy + y* *x - x2 + 2x - x2 + 2* *x ;x ; collect( f ) collect( f ) collect( f,y) collect( f,y)例:例:函数简化函数简化y=simple( f ): 对对 f 尝试多种不同尝试多种不同的算法进行简化,返回其中最简短的形式的算法进行简化,返回其中最简短的形式y,How=simple( f ): y 为为 f 的最的最简短形式,简短形式,How 中记录的为简化过程中使用的中记录的为简化过程中使用的方法。方法。fyHOW2*cos(x)2-sin(x)2 3*cos(x)2-1 simplify(x+1)*

17、x*(x-1)x3-xcombine(trig)x3+3*x2+3*x+1(x+1)3factorcos(3*acos(x)4*x3-3*xexpand函数简化函数简化y=simplify( f ): 对对 f 进行简化进行简化 syms x; f=sin(x)2 + cos(x)2 ; syms x; f=sin(x)2 + cos(x)2 ; simplify( f ) simplify( f ) syms c alpha beta; syms c alpha beta; f=exp(c f=exp(c* *log(sqrt(alpha+beta);log(sqrt(alpha+beta)

18、; simplify( f ) simplify( f )例:例:函数简化举例函数简化举例 syms x; syms x; f=(1/x3+6/x2+12/x+8)(1/3); f=(1/x3+6/x2+12/x+8)(1/3); y1=simplify( f ) y1=simplify( f ) g1=simple( f ) g1=simple( f ) g2=simple(g1) g2=simple(g1)多次使用多次使用 simple 可以达到最简表达可以达到最简表达3321612()8fxxxx 例:简化例:简化分式通分分式通分q 通分通分N,D=numden(f ): N 为通分后的

19、分子,为通分后的分子,D 为通为通分后的分母分后的分母 syms x y; syms x y; f=x/y+y/x; f=x/y+y/x; N,D=numden(f ) N,D=numden(f ) n,d=numden(sym(112/1024) n,d=numden(sym(112/1024)例:例:horner 多项式多项式q horner 多项式:嵌套形式的多项式多项式:嵌套形式的多项式 syms x; syms x; f=x4+2 f=x4+2* *x3+4x3+4* *x2+x+1;x2+x+1; g=horner(f ) g=horner(f )11 111( )( ()nnf

20、xxxxxx x x 例:例:例:例:计算极限计算极限limit(f,x,a): 计算计算limit(f,a): 当默认变量趋向于当默认变量趋向于 a 时的极时的极限限limit(f ): 计算计算 a=0 时的极限时的极限limit(f,x,a,right): 计算右极限计算右极限limit(f,x,a,left): 计算左极限计算左极限lim( )xaf x例:计算例:计算 ,0ln()ln( )limhxhxLh 1limnnxMn syms x h n; syms x h n; L=limit(log(x+h)-log(x)/h,h,0) L=limit(log(x+h)-log(x)

21、/h,h,0) M=limit(1-x/n)n,n,inf) M=limit(1-x/n)n,n,inf)计算导数计算导数g=diff(f,v):求符号表达式:求符号表达式 f 关于关于 v 的导的导数数g=diff(f ):求符号表达式:求符号表达式 f 关于默认变量关于默认变量的导数的导数g=diff(f,v,n):求:求 f 关于关于 v 的的 n 阶导数阶导数q 计计算算导数导数: diff syms x; syms x; f=sin(x)+3 f=sin(x)+3* *x2; x2; g=diff(f,x) g=diff(f,x)例:例:计算积分计算积分int(f,v,a,b): 计

22、算定积分计算定积分int(f,a,b): 计算关于默认变量的定积分计算关于默认变量的定积分int(f,v): 计算不定积分计算不定积分int(f): 计算关于默认变量的不定积分计算关于默认变量的不定积分 syms x; syms x; f=(x2+1)/(x2-2 f=(x2+1)/(x2-2* *x+2)2;x+2)2; I=int(f,x) I=int(f,x) K=int(exp(-x2),x,0,inf) K=int(exp(-x2),x,0,inf)( )baf v dv ( )f v dv 例:计算例:计算 和和2221(22)xIdxxx 20 xKedx 符号求和符号求和 sy

23、ms n; f=1/n2; syms n; f=1/n2; S=symsum(f,n,1,inf) S=symsum(f,n,1,inf) S100=symsum(f,n,1,100) S100=symsum(f,n,1,100)symsum(f,v,a,b): 求和求和symsum(f,a,b): 关于默认变量求和关于默认变量求和( )bv af v 例:计算级数例:计算级数 及其前及其前100项的部分和项的部分和211nSn 例:计算函数级数例:计算函数级数21nxSn syms n x; f=x/n2; syms n x; f=x/n2; S=symsum(f,n,1,inf) S=sy

24、msum(f,n,1,inf)代数方程求解代数方程求解solve(f,v):求方程关于指定自变量的解,:求方程关于指定自变量的解,f 可以是用字符串表示的方程、符号表达式或符号可以是用字符串表示的方程、符号表达式或符号方程;方程; solve 也可解方程组也可解方程组(包含非线性包含非线性); 得不到解析解时,给出数值解。得不到解析解时,给出数值解。略详见略详见 “多项式运算与代数方程求解器多项式运算与代数方程求解器”)q 代代数数方程求解:方程求解: solve微分方程求解微分方程求解q 微分方程求解:微分方程求解: dsolvey=dsolve(eq1,eq2, . ,cond1,cond

25、2, . ,v)其中其中 y 为输出的解,为输出的解, eq1、eq2、. . . 为微分方程,为微分方程,cond1、cond2、.为初值条件,为初值条件, v 为自变量为自变量略详见略详见 “实验四:求微分方程的解实验四:求微分方程的解”其它运算其它运算q 反函数反函数finverse(f,v):求:求 f 关于指定变量关于指定变量 v 的反的反函数函数finverse(f ):求:求 f 关于默认变量的反函数关于默认变量的反函数 syms x t; f=x2+2 syms x t; f=x2+2* *t;t; g1=finverse(f,x) g1=finverse(f,x) g2=fi

26、nverse(f,t) g2=finverse(f,t)例:计算函数例:计算函数 的反函数的反函数22fxt 上机作业上机作业 a1=1e10; b1=1e-10; a1=1e10; b1=1e-10; c1=(a1+b1-a1)/b1; c1=(a1+b1-a1)/b1; a2=sym(a1); b2=sym(b1); a2=sym(a1); b2=sym(b1); c2=(a2+b2-a2)/b2; c2=(a2+b2-a2)/b2; 1、指出下面的、指出下面的 M1,M2,M3 分别是什么,并上机验证。分别是什么,并上机验证。 a=1; b=2; c=3;d=4; a=1; b=2; c=3;d=4; M1=a,b;c,d; M1=a,b;c,d

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论