Matlab教学第四章MATLAB符号运算(Symbolic).ppt

上传人:tia****nde 文档编号:12806160 上传时间:2020-05-25 格式:PPT 页数:35 大小:214KB
返回 下载 相关 举报
Matlab教学第四章MATLAB符号运算(Symbolic).ppt_第1页
第1页 / 共35页
Matlab教学第四章MATLAB符号运算(Symbolic).ppt_第2页
第2页 / 共35页
Matlab教学第四章MATLAB符号运算(Symbolic).ppt_第3页
第3页 / 共35页
点击查看更多>>
资源描述
Lecture4MATLAB符号运算(Symbolic),MATLAB,Matlab符号运算,Matlab符号运算介绍,Matlab符号运算是通过符号数学工具箱(SymbolicMathToolbox)来实现的。Matlab符号数学工具箱是建立在功能强大的Maple软件的基础上的,当Matlab进行符号运算时,它就请求Maple软件去计算并将结果返回给Matlab。,Matlab的符号数学工具箱可以完成几乎所有得符号运算功能。主要包括:符号表达式的运算,符号表达式的复合、化简,符号矩阵的运算,符号微积分、符号作图,符号代数方程求解,符号微分方程求解等。此外,该工具箱还支持可变精度运算,即支持以指定的精度返回结果。,Matlab符号运算特点,计算以推理方式进行,因此不受计算误差累积所带来的困扰。,符号计算指令的调用比较简单,与数学教科书上的公式相近。,符号计算可以给出完全正确的封闭解,或任意精度的数值解(封闭解不存在时)。,符号计算所需的运行时间相对较长。,Matlab符号运算举例,求一元二次方程ax2+bx+c=0的根,solve(a*x2+b*x+c=0),求的根f(x)=(cosx)2的一次导数,x=sym(x);diff(cos(x)2),计算f(x)=x2在区间a,b上的定积分,symsabx;int(x2,a,b),在进行符号运算时,必须先定义基本的符号对象,可以是符号常量、符号变量、符号表达式等。符号对象是一种数据结构。,符号对象与符号表达式,含有符号对象的表达式称为符号表达式,Matlab在内部把符号表达式表示成字符串,以与数字变量或运算相区别。,符号矩阵/数组:元素为符号表达式的矩阵/数组。,sym函数用来建立单个符号变量,一般调用格式为:,符号对象的建立:sym和syms,符号对象的建立,b=sym(1/3),C=sym(1ab;cd),符号对象的建立:sym和syms,符号对象的建立,syms命令用来建立多个符号变量,一般调用格式为:,syms符号变量1符号变量2.符号变量n,a=sym(a);b=sym(b);c=sym(c);,符号表达式的建立:,例:,建立符号表达式通常有以下2种方法:(1)用sym函数直接建立符号表达式。(2)使用已经定义的符号变量组成符号表达式。,y=sym(sin(x)+cos(x),x=sym(x);y=sin(x)+cos(x),符号表达式的建立,symsx;y=sin(x)+cos(x),Matlab符号运算采用的运算符和基本函数,在形状、名称和使用上,都与数值计算中的运算符和基本函数完全相同,符号对象的基本运算,符号对象的基本运算,三角函数与反三角函数、指数函数、对数函数等,基本函数,查找符号表达式中的符号变量,若表达式中有两个符号变量与x的距离相等,则ASCII码大者优先。,查找符号变量,findsym(expr)按字母顺序列出符号表达式expr中的所有符号变量,findsym(expr,N)按顺序列出expr中离x最近的N个符号变量,常量pi,i,j不作为符号变量,例:,f=sym(2*w-3*y+z2+5*a)findsym(f),findsym(f,3),findsym(f,1),findsym举例,符号表达式的替换,subs(f,x,a)用a替换字符函数f中的字符变量xa是可以是数/数值变量/表达式或字符变量/表达式,若x是一个由多个字符变量组成的数组或矩阵,则a应该具有与x相同的形状的数组或矩阵。,用给定的数据替换符号表达式中的指定的符号变量,subs举例,f=sym(2*u);subs(f,u,2)f2=subs(f,u,u+2)a=3;subs(f2,u,a+2)subs(f2,u,a+2)symsxyf3=subs(f,u,x+y)subs(f3,x,y,1,2),ans=4,f2=2*(u+2),ans=14,ans=2*(a+2)+2),f3=2*x+2*y,ans=6,例:指出下面各条语句的输出结果,f=2*u,符号矩阵,A=sym(1+x,sin(x);5,exp(x),使用sym函数直接生成,将数值矩阵转化成符号矩阵,符号矩阵中元素的引用和修改,B=2/3,sqrt(2);5.2,log(3);C=sym(B),A=sym(1+x,sin(x);5,exp(x);A(1,2)%引用A(2,2)=sym(cos(x)%重新赋值,六类常见符号运算,因式分解、展开、合并、简化及通分等,计算极限,计算导数,计算积分,符号求和,代数方程和微分方程求解,因式分解,因式分解,factor(f),symsx;f=x6+1;factor(f),factor也可用于正整数的分解,s=factor(100),factor(sym(12345678901234567890),大整数的分解要转化成符号常量,函数展开,函数展开,expand(f),symsx;f=(x+1)6;expand(f),多项式展开,三角函数展开,symsxy;f=sin(x+y);expand(f),合并同类项,合并同类项,collect(f,v):按指定变量v进行合并collect(f):按默认变量进行合并,symsxy;f=x2*y+y*x-x2+2*x;collect(f),collect(f,y),函数简化,函数简化,y=simple(f):对f尝试多种不同的算法进行简化,返回其中最简短的形式,How,y=simple(f):y为f的最简短形式,How中记录的为简化过程中使用的方法。,函数简化,函数简化,y=simplify(f):对f进行简化,symsx;f=sin(x)2+cos(x)2;simplify(f),symscalphabeta;f=exp(c*log(sqrt(alpha+beta);simplify(f),函数简化举例,symsx;f=(1/x3+6/x2+12/x+8)(1/3);y1=simplify(f),g1=simple(f),g2=simple(g1),多次使用simple可以达到最简表达。,例:简化,分式通分,函数简化,N,D=numden(f):N为通分后的分子,D为通分后的分母,symsxy;f=x/y+y/x;N,D=numden(f),n,d=numden(sym(112/1024),horner多项式,horner多项式:嵌套形式的多项式,symsx;f=x4+2*x3+4*x2+x+1;g=horner(f),例:,计算极限,limit(f,x,a):计算limit(f,a):当默认变量趋向于a时的极限limit(f):计算a=0时的极限limit(f,x,a,right):计算右极限limit(f,x,a,left):计算左极限,例:计算,,symsxhn;L=limit(log(x+h)-log(x)/h,h,0)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阶导数,diff,symsx;f=sin(x)+3*x2;g=diff(f,x),计算积分,int(f,v,a,b):计算定积分int(f,a,b):计算关于默认变量的定积分int(f,v):计算不定积分int(f):计算关于默认变量的不定积分,symsx;f=(x2+1)/(x2-2*x+2)2;I=int(f,x)K=int(exp(-x2),x,0,inf),例:计算和,符号求和,symsn;f=1/n2;S=symsum(f,n,1,inf)S100=symsum(f,n,1,100),symsum(f,v,a,b):求和symsum(f,a,b):关于默认变量求和,例:计算级数及其前100项的部分和,例:计算函数级数,symsnx;f=x/n2;S=symsum(f,n,1,inf),代数方程求解,solve(f,v):求方程关于指定自变量的解,f可以是用字符串表示的方程、符号表达式或符号方程;solve也可解方程组(包含非线性);得不到解析解时,给出数值解。,微分方程求解,dsolve,y=dsolve(eq1,eq2,.,cond1,cond2,.,v),其中y为输出的解,eq1、eq2、.为微分方程,cond1、cond2、.为初值条件,v为自变量,例1:求微分方程的通解,并验证。,y=dsolve(Dy+2*x*y=x*exp(-x2),x),symsx;diff(y)+2*x*y-x*exp(-x2),微分方程求解,几点说明,如果省略初值条件,则表示求通解;,如果省略自变量,则默认自变量为t,dsolve(Dy=2*x,x);dy/dx=2xdsolve(Dy=2*x);dy/dt=2x,若找不到解析解,则返回其积分形式。,微分方程中用D表示对自变量的导数,如:,Dyy;D2yy;D3yy,微分方程求解,例2:求微分方程满足初值条件的特解,并画出解函数的图形。,y=dsolve(x*Dy+y-exp(x)=0,.y(1)=2*exp(1),x)ezplot(y);,微分方程求解,例3:求微分方程组在初值条件下的特解,并画出解函数的图形。,x,y=dsolve(Dx+5*x+y=exp(t),Dy-x-3*y=0,.x(0)=1,y(0)=0,t)ezplot(x,y,0,1.3);,注:解微分方程组时,如果所给的输出个数与方程个数相同,则方程组的解按词典顺序输出。,其它运算,反函数,finverse(f,v):求f关于指定变量v的反函数finverse(f):求f关于默认变量的反函数,symsxt;f=x2+2*t;g1=finverse(f,x)g2=finverse(f,t),例:计算函数的反函数,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!