工程优化设计 MATLAB的符号运算课件_第1页
工程优化设计 MATLAB的符号运算课件_第2页
工程优化设计 MATLAB的符号运算课件_第3页
工程优化设计 MATLAB的符号运算课件_第4页
工程优化设计 MATLAB的符号运算课件_第5页
已阅读5页,还剩65页未读 继续免费阅读

下载本文档

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

文档简介

2、MATLAB的符号运算——matlab不仅具有数值运算功能,还开发了在matlab环境下实现符号计算的工具包Symbolic、MathToolbox。符号计算是matlab数值运算的扩展,在运算过程中以符号表达式或符号矩阵为运算对象,对象是一个字符,数字也被当作字符来处理。2、MATLAB的符号运算——matlab不仅具有数值1符号运算的功能符号表达式、符号矩阵的创建符号线性代数因式分解、展开和简化符号代数方程求解符号微积分符号微分方程符号运算的功能符号表达式、符号矩阵的创建2运算对象可以是没赋值的符号变量可以获得任意精度的解SymbolicMathToolbox——符号运算工具包通过调用Maple软件实现符号计算的。maple软件——主要功能是符号运算,它占据符号软件的主导地位。

符号运算的特点运算对象可以是没赋值的符号变量符号运算的特点31.符号运算的基本操作1.什么是符号运算 与数值运算的区别

数值运算中必须先对变量赋值,然后才能参与运算。

符号运算无须事先对独立变量赋值,运算结果以标准的符号形式表达。 1.符号运算的基本操作1.什么是符号运算 42.符号变量与符号表达式f='sin(x)+5x'f——符号变量名sin(x)+5x——符号表达式'

'——符号标识符号表达式一定要用''单引号括起来matlab才能识别。''的内容可以是符号表达式,也可以是符号方程。2.符号变量与符号表达式f='sin(x)+5x'5例:f1='ax^2+bx+c'——二次三项式f2='ax^2+bx+c=0'——方程f3='Dy+y^2=1'——微分方程※符号表达式或符号方程可以赋给符号变量,以后调用方便;也可以不赋给符号变量直接参与运算例:6用字符串直接创建矩阵模仿matlab数值矩阵的创建方法需保证同一列中各元素字符串有相同的长度。例:A=['[a,2*b]';'[3*a,0]']

A=[a,2*b][3*a,0]3.符号矩阵的创建用字符串直接创建矩阵3.符号矩阵的创建7用函数sym创建矩阵(symbolic)命令格式:A=sym('[]')※符号矩阵内容同数值矩阵※需用sym指令定义※需用''标识用函数sym创建矩阵(symbolic)8例如:A=sym('[a,2*b;3*a,0]')A=[a,2*b][3*a,0]这就完成了一个符号矩阵的创建。注意:符号矩阵的每一行的两端都有方括号,这是与matlab数值矩阵的一个重要区别。例如:A=sym('[a,2*b;3*a,09符号矩阵的修改a.直接修改可用、键找到所要修改的矩阵,直接修改b.指令修改用A1=subs(A,'new','old')来修改符号矩阵的修改10例如:A=[a,2*b][3*a,0]A(2,2)='4*b'A=[a,2*b][3*a,4*b]A2=subs(A,'c','b')A2=[a,2*c][3*a,4*c]例如:A(2,2)='4*b'A2=subs(A,'c',11符号矩阵与数值矩阵的转换将数值矩阵转化为符号矩阵函数调用格式:sym(A)A=[1/3,2.5;1/0.7,2/5]A=0.33332.50001.42860.4000sym(A)ans=[1/3,5/2][10/7,2/5]符号矩阵与数值矩阵的转换12将符号矩阵转化为数值矩阵

函数调用格式:numeric(A)A=[1/3,5/2][10/7,2/5]numeric(A)ans=0.33332.50001.42860.4000将符号矩阵转化为数值矩阵13符号矩阵运算数值运算中,所有矩阵运算操作指令都比较直观、简单。例如:a=b+c;a=a*b;A=2*a^2+3*a-5等。而符号运算就不同了,所有涉及符号运算的操作都有专用函数来进行。二、符号运算符号矩阵运算二、符号运算14例1:f=2*x^2+3*x-5;g=x^2+x-7;>>symsx>>f=2*x^2+3*x-5;g=x^2+x-7;>>h=f+gh=3*x^2+4*x-12例2:f=cos(x);g=sin(2*x);>>symsx>>f=cos(x);g=sin(2*x);>>f/g+f*gans=cos(x)/sin(2*x)+cos(x)*sin(2*x)例1:f=2*x^2+3*x-5;g=x^2+x-7;152.因式的分解、展开、化简factor函数的功能为:把多项式S分解为多个因式,各多项式的系数均为有理数。格式为:factor(s)expand函数的功能为:把多项式和初等函数的符号展开,也可以展开三角函数,指数和对数函数。格式为:expand(s)simple函数的功能为:搜索符号表达式的最简形式。

格式为:simple(s)2.因式的分解、展开、化简factor函数的功能为:把多项式16例3:symsax;f1=x^5*x^3+5*x^2+5*x-6;factor(f1)ans=(x-1)*(x-2)*(x-3)*(x+1)例4:symsxfactor(x^9-1)ans=(x-1)*(x^2+x+1)*(x^6+x^3+1)例3:symsax;f1=x^5*x^3+5*x^2+517例5:symsxy;

expand(cos(x+y))

ans=

cos(x)*cos(y)-sin(x)*sin(y)例6:f=sym('cos(x)^2+sqrt(x^2+2*x+1)+sin(x)^2');F=simple(f);F=simple(F)例5:symsxy;

expand(cos(x+y))182.符号极限limit函数的调用格式为:(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。2.符号极限limit函数的调用格式为:19(3)limit(f):求符号函数f(x)的极限值。符号函数f(x)的变量为函数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。(3)limit(f):求符号函数f(x)的极限值。符号函20例7求下列极限极限1:symsamx;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:symsxt;limit((1+2*t/x)^(3*x),x,inf)ans=exp(6*t)例7求下列极限极限1:21diff(f)—对缺省变量求微分diff(f,v)—对指定变量v求微分diff(f,v,n)—对指定变量v求n阶微分int(f)—对f表达式的缺省变量求不定积分int(f,v)—对f表达式的v变量求不定积分int(f,v,a,b)—对f表达式的v变量在(a,b)区间求定积分3.符号微积分与积分变换diff(f)—对缺省变量求微分3.符号微积分与积分变换22mtaylor(f,n)——泰勒级数展开ztrans(f)——Z变换Invztrans(f)——反Z变换Laplace(f)——拉氏变换Invlaplace(f)——反拉氏变换fourier(f)——付氏变换Invfourier(f)——反付氏变换mtaylor(f,n)——泰勒级数展开23例9:求导数symsx%定义符号变量diff(sin(x^2))%求导运算ans=2*cos(x^2)*x例9:求导数symsx24

例10.计算二重不定积分>>symsxy>>F=int(int(x*exp(-x*y),x),y)F=1/y*exp(-x*y)

例10.计算二重不定积分>>symsxy25例11.求级数的和键入:1/12+1/22+1/32+1/42+……symsksymsum(1/k^2,1,Inf)%k值为1到无穷大ans=1/6*pi^2其结果为:1/12+1/22+1/32+1/42

+……=π2/6例11.求级数的和键入:1/12+1/22+1/32+1/26>>symsatx;f=[a,t^3;t*cos(x),log(x)];df=diff(f) dfdt2=diff(f,t,2) dfdxdt=diff(diff(f,x),t)

df=[0,0][-t*sin(x),1/x]dfdt2=[0,6*t][0,0]dfdxdt=[0,0][-sin(x),0]

例12.计算微分>>symsatx;df=例12.计算微分274.符号代数方程求解matlab符号运算能够解一般的线性方程、非线性方程及一般的代数方程、代数方程组。当方程组不存在符号解时,又无其他自由参数,则给出数值解。命令格式:solve(f)——求一个方程的解Solve(f1,f2,…fn)——求n个方程的解4.符号代数方程求解matlab符号运算能够解一般28

例13.f=ax2+bx+c求解f='a*x^2+b*x+c';solve(f)——对缺省变量x求解ans=[1/2/a*(-b+(b^2-4*a*c)^(1/2))][1/2/a*(-b-(b^2-4*a*c)^(1/2))]计算机格式一般格式例13.f=ax2+bx+c求解计算机一般格式29例14.解方程组x+y+z=1x-y+z=22x-y-z=1g1='x+y+z=1',g2='x-y+z=2',g3='2*x-y-z=1'f=solve(g1,g2,g3)f=solve('x+y+z=1','x-y+z=2','2*x-y-z=1')例14.解方程组x+y+z=130f=x:[1x1sym] y:[1x1sym] z:[1x1sym] [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/3y=-1/2z=5/6f=315.符号微分方程求解——用一个函数可以方便地得到微分方程的符号解符号微分方程求解指令:dsolve命令格式:dsolve(f,g)f——微分方程,可多至12个微分方程的求解;g为初始条件默认自变量为'x',可任意指定自变量't','u'等微分方程的各阶导数项以大写字母D表示5.符号微分方程求解32例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)的时间曲线图求该方程的解例15.y=dsolve('D2y+2*Dy+2*y=0',33工程优化设计MATLAB的符号运算课件34干部怎样对市场?创与闯。既要创新创造;又要有闯劲冲劲。。11月-2211月-22Monday,November7,2022在真实的生命里,每桩伟业都由信心开始,并由信心跨出第一步。。00:21:4100:21:4100:2111/7/202212:21:41AM一个有真正大才能的人却在工作过程中感到最高度的快乐。。11月-2200:21:4100:21Nov-2207-Nov-22可持续竞争的惟一优势来自于超过竞争对手的创新能力。。00:21:4100:21:4100:21Monday,November7,2022学到很多东西的诀窍,就是一下子不要学很多。。11月-2211月-2200:21:4100:21:41November7,2022风声雨声读书声,声声入耳;家事国事天下事,事事关心。—明·顾宪成。2022年11月7日12:21上午11月-2211月-22如果说失败是人生的一种经历,那么这种经历会使我们的人生走向成熟;如果说一个人的成熟,必须历经沧桑的话,沧桑就能够成为一种奇特的美丽。。07十一月202212:21:41上午00:21:4111月-22梯子的梯阶从来不是用来搁脚的,它只是让人们的脚放上一段时间,以便让别一只脚能够再往上登。。十一月2212:21上午11月-2200:21November7,2022机遇起着重要的作用,但另一方面,即使在那些因机遇而成功的发现中,机遇也仅仅起到一部分的作用。。2022/11/70:21:4100:21:4107November2022被人羞辱的时候,翻脸不如翻身,生气不如争气。。12:21:41上午12:21上午00:21:4111月-22脚踏实地过好每一天,最简单的恰恰是最难的。。11月-2211月-2200:2100:21:4100:21:41Nov-22黑发不知勤学早,白首方悔读书迟。—《劝学》。2022/11/70:21:41Monday,November7,2022所有的豪言都收起来,所有的呐喊都咽下去。。11月-222022/11/70:21:4111月-22谢谢各位!干部怎样对市场?创与闯。既要创新创造;又要有闯劲冲劲。。11352、MATLAB的符号运算——matlab不仅具有数值运算功能,还开发了在matlab环境下实现符号计算的工具包Symbolic、MathToolbox。符号计算是matlab数值运算的扩展,在运算过程中以符号表达式或符号矩阵为运算对象,对象是一个字符,数字也被当作字符来处理。2、MATLAB的符号运算——matlab不仅具有数值36符号运算的功能符号表达式、符号矩阵的创建符号线性代数因式分解、展开和简化符号代数方程求解符号微积分符号微分方程符号运算的功能符号表达式、符号矩阵的创建37运算对象可以是没赋值的符号变量可以获得任意精度的解SymbolicMathToolbox——符号运算工具包通过调用Maple软件实现符号计算的。maple软件——主要功能是符号运算,它占据符号软件的主导地位。

符号运算的特点运算对象可以是没赋值的符号变量符号运算的特点381.符号运算的基本操作1.什么是符号运算 与数值运算的区别

数值运算中必须先对变量赋值,然后才能参与运算。

符号运算无须事先对独立变量赋值,运算结果以标准的符号形式表达。 1.符号运算的基本操作1.什么是符号运算 392.符号变量与符号表达式f='sin(x)+5x'f——符号变量名sin(x)+5x——符号表达式'

'——符号标识符号表达式一定要用''单引号括起来matlab才能识别。''的内容可以是符号表达式,也可以是符号方程。2.符号变量与符号表达式f='sin(x)+5x'40例:f1='ax^2+bx+c'——二次三项式f2='ax^2+bx+c=0'——方程f3='Dy+y^2=1'——微分方程※符号表达式或符号方程可以赋给符号变量,以后调用方便;也可以不赋给符号变量直接参与运算例:41用字符串直接创建矩阵模仿matlab数值矩阵的创建方法需保证同一列中各元素字符串有相同的长度。例:A=['[a,2*b]';'[3*a,0]']

A=[a,2*b][3*a,0]3.符号矩阵的创建用字符串直接创建矩阵3.符号矩阵的创建42用函数sym创建矩阵(symbolic)命令格式:A=sym('[]')※符号矩阵内容同数值矩阵※需用sym指令定义※需用''标识用函数sym创建矩阵(symbolic)43例如:A=sym('[a,2*b;3*a,0]')A=[a,2*b][3*a,0]这就完成了一个符号矩阵的创建。注意:符号矩阵的每一行的两端都有方括号,这是与matlab数值矩阵的一个重要区别。例如:A=sym('[a,2*b;3*a,044符号矩阵的修改a.直接修改可用、键找到所要修改的矩阵,直接修改b.指令修改用A1=subs(A,'new','old')来修改符号矩阵的修改45例如:A=[a,2*b][3*a,0]A(2,2)='4*b'A=[a,2*b][3*a,4*b]A2=subs(A,'c','b')A2=[a,2*c][3*a,4*c]例如:A(2,2)='4*b'A2=subs(A,'c',46符号矩阵与数值矩阵的转换将数值矩阵转化为符号矩阵函数调用格式:sym(A)A=[1/3,2.5;1/0.7,2/5]A=0.33332.50001.42860.4000sym(A)ans=[1/3,5/2][10/7,2/5]符号矩阵与数值矩阵的转换47将符号矩阵转化为数值矩阵

函数调用格式:numeric(A)A=[1/3,5/2][10/7,2/5]numeric(A)ans=0.33332.50001.42860.4000将符号矩阵转化为数值矩阵48符号矩阵运算数值运算中,所有矩阵运算操作指令都比较直观、简单。例如:a=b+c;a=a*b;A=2*a^2+3*a-5等。而符号运算就不同了,所有涉及符号运算的操作都有专用函数来进行。二、符号运算符号矩阵运算二、符号运算49例1:f=2*x^2+3*x-5;g=x^2+x-7;>>symsx>>f=2*x^2+3*x-5;g=x^2+x-7;>>h=f+gh=3*x^2+4*x-12例2:f=cos(x);g=sin(2*x);>>symsx>>f=cos(x);g=sin(2*x);>>f/g+f*gans=cos(x)/sin(2*x)+cos(x)*sin(2*x)例1:f=2*x^2+3*x-5;g=x^2+x-7;502.因式的分解、展开、化简factor函数的功能为:把多项式S分解为多个因式,各多项式的系数均为有理数。格式为:factor(s)expand函数的功能为:把多项式和初等函数的符号展开,也可以展开三角函数,指数和对数函数。格式为:expand(s)simple函数的功能为:搜索符号表达式的最简形式。

格式为:simple(s)2.因式的分解、展开、化简factor函数的功能为:把多项式51例3:symsax;f1=x^5*x^3+5*x^2+5*x-6;factor(f1)ans=(x-1)*(x-2)*(x-3)*(x+1)例4:symsxfactor(x^9-1)ans=(x-1)*(x^2+x+1)*(x^6+x^3+1)例3:symsax;f1=x^5*x^3+5*x^2+552例5:symsxy;

expand(cos(x+y))

ans=

cos(x)*cos(y)-sin(x)*sin(y)例6:f=sym('cos(x)^2+sqrt(x^2+2*x+1)+sin(x)^2');F=simple(f);F=simple(F)例5:symsxy;

expand(cos(x+y))532.符号极限limit函数的调用格式为:(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。2.符号极限limit函数的调用格式为:54(3)limit(f):求符号函数f(x)的极限值。符号函数f(x)的变量为函数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。(3)limit(f):求符号函数f(x)的极限值。符号函55例7求下列极限极限1:symsamx;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:symsxt;limit((1+2*t/x)^(3*x),x,inf)ans=exp(6*t)例7求下列极限极限1:56diff(f)—对缺省变量求微分diff(f,v)—对指定变量v求微分diff(f,v,n)—对指定变量v求n阶微分int(f)—对f表达式的缺省变量求不定积分int(f,v)—对f表达式的v变量求不定积分int(f,v,a,b)—对f表达式的v变量在(a,b)区间求定积分3.符号微积分与积分变换diff(f)—对缺省变量求微分3.符号微积分与积分变换57mtaylor(f,n)——泰勒级数展开ztrans(f)——Z变换Invztrans(f)——反Z变换Laplace(f)——拉氏变换Invlaplace(f)——反拉氏变换fourier(f)——付氏变换Invfourier(f)——反付氏变换mtaylor(f,n)——泰勒级数展开58例9:求导数symsx%定义符号变量diff(sin(x^2))%求导运算ans=2*cos(x^2)*x例9:求导数symsx59

例10.计算二重不定积分>>symsxy>>F=int(int(x*exp(-x*y),x),y)F=1/y*exp(-x*y)

例10.计算二重不定积分>>symsxy60例11.求级数的和键入:1/12+1/22+1/32+1/42+……symsksymsum(1/k^2,1,Inf)%k值为1到无穷大ans=1/6*pi^2其结果为:1/12+1/22+1/32+1/42

+……=π2/6例11.求级数的和键入:1/12+1/22+1/32+1/61>>symsatx;f=[a,t^3;t*cos(x),log(x)];df=diff(f) dfdt2=diff(f,t,2) dfdxdt=diff(diff(f,x),t)

df=[0,0][-t*sin(x),1/x]dfdt2=[0,6*t][0,0]dfdxdt=[0,0][-sin(x),0]

例12.计算微分>>symsatx;df=例12.计算微分624.符号代数方程求解matlab符号运算能够解一般的线性方程、非线性方程及一般的代数方程、代数方程组。当方程组不存在符号解时,又无其他自由参数,则给出数值解。命令格式:solve(f)——求一个方程的解Solve(f1,f2,…fn)——求n个方程的解4.符号代数方程求解matlab符号运算能够解一般63

例13.f=ax2+bx+c求解f='a*x^2+b*x+c';solve(f)——对缺省变量x求解ans=[1/2/a*(-b+(b^2-4*a*c)^(1/2))][1/2/a*(-b-(b^2-4*a*c)^(1/2))]计算机格式一般格式例13.f=ax2+bx+c求解计算机一般格式64例14.解方程组x+y+z=1x-y+z=22x-y-z=1g1='x+y+z=1',g2='x-y+z=2',g3='2*x-y-z=1'f=solve(g1,g2,g3)f=solve('x+y+z=1','x-y+z=2','2*x-y-z=1')例14.解方程组x+y+z=165f=x:[1x1sym] y:[1x1sym] z:[1x1sym] [x,y,z]=solve('x+y+z=1','x-y+z=2','2*x-y-z=1')disp(f.x),disp(f.y

温馨提示

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

评论

0/150

提交评论