1、2、MATLAB的符号运算 matlab 不仅具有数值运算功能,还开发了在matlab环境下实现符号计算的工具包Symbolic、Math Toolbox。符号计算是matlab数值运算的扩展,在运算过程中以符号表达式或符号矩阵为运算对象,对象是一个字符,数字也被当作字符来处理。符号运算的功能o符号表达式、符号矩阵的创建o符号线性代数o因式分解、展开和简化o符号代数方程求解o符号微积分o符号微分方程o 运算对象可以是没赋值的符号变量 可以获得任意精度的解oSymbolic Math Toolbox符号运算工具包通过调用Maple软件实现符号计算的。omaple软件主要功能是符号运算,它占据符号
2、软件的主导地位。符号运算的特点1.符号运算的基本操作1.什么是符号运算与数值运算的区别 数值运算中必须先对变量赋值数值运算中必须先对变量赋值,然后才能参与运算。符号运算无须事先对独立变量赋符号运算无须事先对独立变量赋值值,运算结果以标准的符号形式表达。2.符号变量与符号表达式f=sin(x)+5xf 符号变量名sin(x)+5x 符号表达式 符号标识o符号表达式一定要用 单引号括起来matlab才能识别。o 的内容可以是符号表达式,也可以是符号方程。例:f1=ax2+bx+c 二次三项式 f2=ax2+bx+c=0 方程 f3=Dy+y2=1 微分方程符号表达式或符号方程可以赋给符号变量,以后
3、调用方便;也可以不赋给符号变量直接参与运算o用字符串直接创建矩阵o模仿matlab数值矩阵的创建方法o需保证同一列中各元素字符串有相同的长度。例:A=a,2*b;3*a,0 A=a,2*b 3*a,03.符号矩阵的创建o用函数sym创建矩阵(symbolic)命令格式:A=sym()符号矩阵内容同数值矩阵 需用sym指令定义 需用 标识例如:A=sym(a,2*b;3*a,0)A=a,2*b 3*a,0 这就完成了一个符号矩阵的创建。注意:符号矩阵的每一行的两端都有方括号,这是与 matlab数值矩阵的一个重要区别。o符号矩阵的修改 a.直接修改 可用、键找到所要修改的矩阵,直接修改 b.指令
4、修改o 用A1=subs(A,new,old)来修改例如:例如:A=a,2*b 3*a,0A(2,2)=4*bA=a,2*b 3*a,4*bA2=subs(A,c,b)A2=a,2*c 3*a,4*c o符号矩阵与数值矩阵的转换o将数值矩阵转化为符号矩阵 函数调用格式:sym(A)A=1/3,2.5;1/0.7,2/5 A=0.3333 2.5000 1.4286 0.4000 sym(A)ans=1/3,5/2 10/7,2/5v将符号矩阵转化为数值矩阵 函数调用格式:numeric(A)A=1/3,5/2 10/7,2/5 numeric(A)ans=0.3333 2.5000 1.428
5、6 0.40001.符号矩阵运算 数值运算中,所有矩阵运算操作指令都比较直观、简单。例如:a=b+c;a=a*b;A=2*a2+3*a-5等。而符号运算就不同了,所有涉及符号运算的操作都有专用函数来进行。二、符号运算例1:f=2*x2+3*x-5;g=x2+x-7;syms x f=2*x2+3*x-5;g=x2+x-7;h=f+g h=3*x2+4*x-12例2:f=cos(x);g=sin(2*x);syms x f=cos(x);g=sin(2*x);f/g+f*g ans=cos(x)/sin(2*x)+cos(x)*sin(2*x)2.因式的分解、展开、化简ofactor函数的功能为
6、:把多项式S分解为多个因式,各多项式的系数均为有理数。格式为:factor(s)oexpand函数的功能为:把多项式和初等函数的符号展开,也可以展开三角函数,指数和对数函数。格式为:expand(s)osimple函数的功能为:搜索符号表达式的最简形式。格式为:simple(s)例3:syms a x;f1=x5*x3+5*x2+5*x-6;factor(f1)ans=(x-1)*(x-2)*(x-3)*(x+1)例4:syms x factor(x9-1)ans=(x-1)*(x2+x+1)*(x6+x3+1)例5:syms x y;expand(cos(x+y)ans=cos(x)*cos
7、(y)-sin(x)*sin(y)例6:f=sym(cos(x)2+sqrt(x2+2*x+1)+sin(x)2);F=simple(f);F=simple(F)2.符号极限olimit函数的调用格式为:函数的调用格式为:(1)limit(f,x,a):求符号函数f(x)的极限值。即计算当变量x趋近于常数a时,f(x)函数的极限值。(2)limit(f,a):求符号函数f(x)的极限值。由于没有指定符号函数f(x)的自变量,则使用该格式时,符号函数f(x)的变量为函数findsym(f)确定的默认自变量,即变量x趋近于a。(3)limit(f):求符号函数f(x)的极限值。符号函数f(x)的变
8、量为函数findsym(f)确定的默认变量;没有指定变量的目标值时,系统默认变量趋近于0,即a=0的情况。(4)limit(f,x,a,right):求符号函数f的极限值。right表示变量x从右边趋近于a。(5)limit(f,x,a,left):求符号函数f的极限值。left表示变量x从左边趋近于a。例7 求下列极限极限1:syms a m x;f=(x*(exp(sin(x)+1)-2*(exp(tan(x)-1)/(x+a);limit(f,x,a)ans=(1/2*a*exp(sin(a)+1/2*a-exp(tan(a)+1)/a极限2:syms x t;limit(1+2*t/x
9、)(3*x),x,inf)ans=exp(6*t)odiff(f)对缺省变量求微分odiff(f,v)对指定变量v求微分odiff(f,v,n)对指定变量v求n阶微分oint(f)对f表达式的缺省变量求不定积分oint(f,v)对f表达式的v变量求不定积分oint(f,v,a,b)对f表达式的v变量在(a,b)区间求定积分3.符号微积分与积分变换mtaylor(f,n)泰勒级数展开ztrans(f)Z变换Invztrans(f)反Z变换Laplace(f)拉氏变换Invlaplace(f)反拉氏变换fourier(f)付氏变换Invfourier(f)反付氏变换例9:求导数syms x%定义符
10、号变量diff(sin(x2)%求导运算ans=2*cos(x2)*xdxxd2sin 例10.计算二重不定积分 syms x y F=int(int(x*exp(-x*y),x),y)F=1/y*exp(-x*y)例11.求级数的和键入:1/12+1/22+1/32+1/42+syms k symsum(1/k2,1,Inf)%k值为1到无穷大ans=1/6*pi2其结果为:1/12+1/22+1/32+1/42 +=2/6 syms a t x;f=a,t3;t*cos(x),log(x);df=diff(f)dfdt2=diff(f,t,2)dfdxdt=diff(diff(f,x),t
11、)df=0,0 -t*sin(x),1/xdfdt2=0,6*t 0,0dfdxdt=0,0 -sin(x),0 例12.计算微分4.符号代数方程求解 matlab符号运算能够解一般的线性方程、非线性方程及一般的代数方程、代数方程组。当方程组不存在符号解时,又无其他自由参数,则给出数值解。命令格式:solve(f)求一个方程的解Solve(f1,f2,fn)求n个方程的解 例13.f=ax2+bx+c 求解f=a*x2+b*x+c;o solve(f)对缺省变量x求解ans=1/2/a*(-b+(b2-4*a*c)(1/2)1/2/a*(-b-(b2-4*a*c)(1/2)计算机格式aacbb
12、242一般格式例14.解方程组 x+y+z=1 x-y+z=2 2x-y-z=1g1=x+y+z=1,g2=x-y+z=2,g3=2*x-y-z=1f=solve(g1,g2,g3)f=solve(x+y+z=1,x-y+z=2,2*x-y-z=1)f=x:1x1 sym y:1x1 sym z:1x1 sym x,y,z=solve(x+y+z=1,x-y+z=2,2*x-y-z=1)disp(f.x),disp(f.y),disp(f.z)x=2/3 y=-1/2 z=5/65.符号微分方程求解 用一个函数可以方便地得到微 分方程的符号解符号微分方程求解指令:dsolve命令格式:dsol
13、ve(f,g)of 微分方程,可多至12个微分方程的求 解;g为初始条件o默认自变量为 x,可任意指定自变量t,u等o微分方程的各阶导数项以大写字母D表示 例15.y=dsolve(D2y+2*Dy+2*y=0,y(0)=1,Dy(0)=0)ans=exp(-x)*cos(x)+exp(-x)*sin(x)ezplot(y)方程解y(t)的时间曲线图22dxyd+2dydx02y00)(dxdy,1)0(y求该方程的解-6-4-2024050100150200250texp(-t)sin(t)+exp(-t)cos(t)干部怎样对市场?创与闯。既要创新创造;又要有闯劲冲劲。22.11.1522
14、.11.15Tuesday,November 15,2022在真实的生命里,每桩伟业都由信心开始,并由信心跨出第一步。14:36:0014:36:0014:3611/15/2022 2:36:00 PM一个有真正大才能的人却在工作过程中感到最高度的快乐。22.11.1514:36:0014:36Nov-2215-Nov-22可持续竞争的惟一优势来自于超过竞争对手的创新能力。14:36:0014:36:0014:36Tuesday,November 15,2022学到很多东西的诀窍,就是一下子不要学很多。22.11.1522.11.1514:36:0014:36:00November 15,20
15、22风声雨声读书声,声声入耳;家事国事天下事,事事关心。明顾宪成。2022年11月15日下午2时36分22.11.1522.11.15如果说失败是人生的一种经历,那么这种经历会使我们的人生走向成熟;如果说一个人的成熟,必须历经沧桑的话,沧桑就能够成为一种奇特的美丽。2022年11月15日星期二下午2时36分0秒14:36:0022.11.15梯子的梯阶从来不是用来搁脚的,它只是让人们的脚放上一段时间,以便让别一只脚能够再往上登。2022年11月下午2时36分22.11.1514:36November 15,2022机遇起着重要的作用,但另一方面,即使在那些因机遇而成功的发现中,机遇也仅仅起到一
16、部分的作用。2022年11月15日星期二14时36分0秒14:36:0015 November 2022被人羞辱的时候,翻脸不如翻身,生气不如争气。下午2时36分0秒下午2时36分14:36:0022.11.15脚踏实地过好每一天,最简单的恰恰是最难的。22.11.1522.11.1514:3614:36:0014:36:00Nov-22黑发不知勤学早,白首方悔读书迟。劝学。2022年11月15日星期二14时36分0秒Tuesday,November 15,2022所有的豪言都收起来,所有的呐喊都咽下去。22.11.152022年11月15日星期二14时36分0秒22.11.15谢谢各位!谢谢各位!