《第三章MATLAB.ppt》由会员分享,可在线阅读,更多相关《第三章MATLAB.ppt(38页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第三章符号运算第三章符号运算第一节符号运算的基本操作第一节符号运算的基本操作无须事先无须事先对独立变量赋值,对独立变量赋值,运算运算结果结果以标准的符号形式表达以标准的符号形式表达一、什么是符号运算一、什么是符号运算数值运算数值运算符号运算符号运算先对变量赋值先对变量赋值然后才能参与运算然后才能参与运算特点特点运算对象运算对象可以是没赋值的可以是没赋值的符号变量符号变量可以获得可以获得任意精度任意精度的解的解Symbolic Math ToolboxMaple二、二、符号变量与符号表达式符号变量与符号表达式f=sin(x)+5x符号变量名符号变量名符号表达式符号表达式符号方程符号方程符号标识符
2、号标识 f1=a x2+b x+c 二次三项式二次三项式f2=a x2+b x+c=0 方程方程f3=Dy+y2=1 微分方程微分方程赋给符号变量,赋给符号变量,以后调用方便以后调用方便不赋给符号变量不赋给符号变量直接参与运算直接参与运算矩阵内容、矩阵内容、sym、三、符号矩阵的创建三、符号矩阵的创建A=1,2;3,4 不识别不识别A=a,b;c,d1、用用sym函数创建矩阵(函数创建矩阵(symbolic)A=sym()A=sym(a,2*b;3*a,0)A=a,2*b 3*a,0每一行的两端每一行的两端都有方括号都有方括号2、用字符串直接创建矩阵、用字符串直接创建矩阵同数值矩阵创建方法同数
3、值矩阵创建方法同一列中各元素字符串有相同的长度同一列中各元素字符串有相同的长度A=a,2*b;3*a,0 A=a,2*b 3*a,0ans=1/3,5/210/7,2/5.3、符号矩阵与数值矩阵的转换、符号矩阵与数值矩阵的转换sym(A)A=1/3,2.5;1/0.7,2/5A=0.3333 2.5000 1.4286 0.4000sym(A)符号矩阵符号矩阵运算由运算由专用函数专用函数来进行来进行直接应用运算操作符直接应用运算操作符.第二节符号运算第二节符号运算一、符号矩阵运算一、符号矩阵运算a=b+c;a=a*b;A=2*a2+3*a-5数值矩阵数值矩阵运算操作指令运算操作指令直观、简单直
4、观、简单例例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+gh=3*x2+4*x-12 syms x f=cos(x);g=sin(2*x);f/g+f*gans=cos(x)/sin(x)+cos(x)*sin(x)例例2:f=cos(x);g=sin(2*x);symsize 求符号矩阵维数求符号矩阵维数charpoly 特征多项式特征多项式determ 符号矩阵行列式的值符号矩阵行列式的值eigensys 特征值和特征向量特征值和特征向量inverse 逆矩阵逆矩阵transpose 矩阵的转置矩阵的转置jordan 约
5、当标准型约当标准型simple 符号矩阵简化符号矩阵简化符号运算函数符号运算函数二、任意精度的数学运算二、任意精度的数学运算 数值类型数值类型有理数类型有理数类型vpa类型类型浮点算术运算浮点算术运算精确符号运算精确符号运算任意精度算术运算任意精度算术运算1/2+1/3(format long)ans=0.83333333333333sym(1/2)+(1/3)ans=5/6 精确解精确解digits(25);vpa(1/2+1/3);任意精度算术运算任意精度算术运算digits(n)设置可变精度,缺省设置可变精度,缺省16位位vpa(x,n)显示可变精度计算显示可变精度计算ans=.8333
6、333333333333333333333vpa(5/6,40)ans=.8333333333333333333333333333333333333333a=sym(1/4,exp(1);log(3),3/7)a=1/4,exp(1)log(3),3/7ans=.2500000000,2.7182818281.098612289,.4285714286int(f)int(f,v)int(f,v,a,b)三、符号微积分与积分变换三、符号微积分与积分变换diff(f)diff(f,v)diff(f,v,n)微分微分f 表达式表达式,v变量变量积分积分mtaylor(f,n)泰勒级数展开泰勒级数展开
7、ztrans(f)Z变换变换 invztrans(f)反反Z变换变换laplace(f)拉氏变换拉氏变换 invlaplace(f)反拉氏变换反拉氏变换fourier(f)付氏变换付氏变换 invfourier(f)反付氏变换反付氏变换积分变换积分变换 例例1.计算二重不定积分计算二重不定积分例例2.计算计算 f=x*exp(-x*10)的的Z变换变换1.F=ztrans(f)F=z*exp(-10)/(z-exp(-10)21.F=int(int(x*exp(-x*y),x),y)F=1/y*exp(-x*y)F=1/y*exp(-x*y)3.F=ztrans(x*exp(-x*10);F=
8、z*exp(-10)/(z-exp(-10)22.syms x y F=int(int(x*exp(-x*y),x),y)2.syms xf=x*exp(-x*10);F=ztrans(f)例例3.计算指数函数计算指数函数eAt。用拉氏反变换法计算用拉氏反变换法计算eAt的公式为:的公式为:eAt=L-1(SI-A)-1系统矩阵系统矩阵A=eAt=结果:结果:a=0 1;-2-3;syms s b=(s*eye(2)-a)b=s,-1 2,s+3 B=inv(b)(s+3)/(s2+3*s+2),1/(s2+3*s+2)-2/(s2+3*s+2),s/(s2+3*s+2)B1=ilaplace
9、(B);B1=-exp(-2*t)+2*exp(-t),2*exp(-3/2*t)*sinh(1/2*t)-4*exp(-3/2*t)*sinh(1/2*t),2*exp(-2*t)-exp(-t)四、符号代数方程求解四、符号代数方程求解solve(f)求一个方程的解求一个方程的解solve(f1,f2,fn)求求n个方程的解个方程的解线性方程、非线性方程、代数方程、代数方程组线性方程、非线性方程、代数方程、代数方程组无符号解时,给出数值解无符号解时,给出数值解例例1.f=ax2+bx+c 求解求解f=a*x2+b*x+c;solve(f)ans=1/2/a*(-b+(b2-4*a*c)(1/
10、2)1/2/a*(-b-(b2-4*a*c)(1/2)计算机计算机格式格式一般格式一般格式solve(f,b)对指定变量对指定变量b求解求解ans=-(a*x2+c)/xf1=solve(cos(x)=sin(x),f1=1/4*picos(x)=sin(x),tan(2*x)=sin(x)例例2.符号方程求解符号方程求解f2=solve(tan(2*x)=sin(x)f2=0 pi atan(1/2*(-2*3(1/2)(1/2),1/2+1/2*3(1/2)atan(-1/2*(-2*3(1/2)(1/2),1/2+1/2*3(1/2)atan(1/2*2(1/2)*3(1/4)/(1/2
11、-1/2*3(1/2)+pi-atan(1/2*2(1/2)*3(1/4)/(1/2-1/2*3(1/2)-pi(2)f=solve(x+y+z=1,x-y+z=2,2*x-y-z=1)f=z=5/6,y=-1/2,x=2/3x+y+z=1 x-y+z=22x-y-z=1例例3.解方程组解方程组(1)g1=x+y+z=1,g2=x-y+z=2,g3=2*x-y-z=1f=solve(g1,g2,g3)(3)f=solve(x+y+z=1,x-y+z=2,2*x-y-z=1)f=x:1x1 symf.x ans=2/3 y:1x1 symf.y ans=-1/2 z:1x1 symf.z ans
12、=5/6(4)x,y,z=solve(x+y+z=1,x-y+z=2,2*x-y-z=1)x=2/3 y=-1/2 z=5/6各阶导数项以各阶导数项以D表示表示 五、符号微分方程求解五、符号微分方程求解dsolve(f,g)微分方程,多至微分方程,多至12个个默认自变量默认自变量 x,亦可亦可t,u等等初始条件初始条件y的一阶导数的一阶导数 Dyy的二阶导数的二阶导数 D2yy的的 n 阶导数阶导数 Dnyy1,y2=dsolve(x1,x2,xn)微分方程的解微分方程的解例例:二阶微分方程二阶微分方程dsolve(D2y=-a2*y,y(0)=1,Dy(pi/a)=0)ans=cos(a*x
13、)例例:一阶微分方程一阶微分方程x,y=dsolve(Dx=y,Dy=x,x(0)=0,y(0)=1)ans=x(t)=sin(t),y(t)=cos(t)例例3 3.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)的时间曲线图的时间曲线图求该方程的解求该方程的解第三节第三节maple函数函数符号运算的扩展符号运算的扩展 matlab设计了对设计了对maple库函数的调用功能库函数的调用功能,已有已有的的maple数学功能,可以扩充数学功能,可以扩充matlab
14、中,作为自中,作为自身符号运算能力的扩展。身符号运算能力的扩展。maple专门进行数学运算的软件工具,专门进行数学运算的软件工具,具有超强的符号运算能力,提供了具有超强的符号运算能力,提供了 几乎包括所有几乎包括所有数学领域的专用函数数学领域的专用函数matlab依赖于依赖于maple的内核与函数库,扩的内核与函数库,扩 展了自己的符号运算功能。展了自己的符号运算功能。一、一、maple内核访问函数内核访问函数maple 访问访问maple内核函数内核函数mpa maple函数定义函数定义mhelp maple函数帮助命令函数帮助命令maple(表达式表达式)将表达式送至将表达式送至maple
15、内核,内核,返回符号表达式结果。返回符号表达式结果。maple(函数函数,变量,变量1,变量,变量2)调用调用maple 函数,传递给定变量。函数,传递给定变量。a=maple(bernoulli(5,x)a=-1/6*x+5/3*x3+x5-5/2*x4a=maple(bernoulli(5,3)a=85例例1.展开展开5阶阶 bernoulli 多项式,计算多项式,计算 x=3 时时bernoulli 数。数。a=maple(simplify(sin(x)2+cos(x)2);)a=1例例2.化简三角函数式化简三角函数式sin2x+cos2xf=maple(laplace(exp(-3*t
16、)*sin(t),t,s);)f=1/(s+3)2+1)例例3.求求f(t)=e-3tsint的拉式变换的拉式变换例例4.寻找二次多项式的完全平方寻找二次多项式的完全平方 f(x)=x2+2x+2a=maple(completesquare(x2+2*x+2)a=completesquare(x2+2*x+2)Completesquare位于位于student工具包工具包,使使用前用前,先用先用with命令将该工具包装入内存命令将该工具包装入内存.例例4.寻找二次多项式的完全平方寻找二次多项式的完全平方 f(x)=x2+2x+2将工具包将工具包装入内存装入内存maple(with(studen
17、t);)a=maple(completesquare(x2+2*x+2)a=(x+1)2+1将应用工具包装入内存将应用工具包装入内存maple函数、工具包装入内存函数、工具包装入内存maple(readlib(函数名函数名);)maple(with(工具包名工具包名);)把库函数读入内存把库函数读入内存maple(readlib(mtaylor);)maple(mtaylor(sin(x2+y2),x=0,y=0,8)ans=x2+y2-1/6*x6-1/2*y2*x4-1/2*y4*x2-1/6*y6例例5.求求sin(x2+y2)在在x=0,y=0处泰勒级数展开式,处泰勒级数展开式,8阶截
18、断。阶截断。maple(mtaylor(sin(x2+y2),x=0,y=0,8)ans=mtaylor(sin(x2+y2),x=0,y=0,8)例例.电磁力计算公式为电磁力计算公式为试试I=0.5,x=0.1邻域展开泰勒级数,邻域展开泰勒级数,3阶截阶截断,令常数断,令常数 ,1.直接调用直接调用maple(readlib(mtaylor);)maple(mtaylor(k*I2/x2,I=0.5,x=0.1,3);)2.定义符号函数定义符号函数ff=k*I2/x2;maple(mtaylor(f,I=0.5,x=0.1,3);)ans=mtaylor(f,I=.5,x=.1,3)二、二、
19、mhelp 函数帮助命令函数帮助命令工具词条工具词条函数词条函数词条协助检索协助检索maple函数的专用命令函数的专用命令mhelp+mhelp librery mhelp slope Multiple matches found:student,slope geometry,slopeFunctionCalling SequenceParametersSynopsisExamplesSee Also mhelp studentslope函数功能说明函数功能说明调用格式调用格式调用参数说明调用参数说明语法说明语法说明应用举例应用举例相关词条相关词条 三、三、maple检索帮助检索帮助mhelp intro maple介绍介绍mhelp maple maple命令格式命令格式mhelp tutorial maple入门入门mhelp index maple检索检索mhelp sign maple函数词条检索函数词条检索小小 结结 掌握如何创建、修改符号矩阵掌握如何创建、修改符号矩阵掌握符号运算功能掌握符号运算功能maple函数调用函数调用mhelp检索检索