MATLAB的符号运算V4.0(精简版).ppt_第1页
MATLAB的符号运算V4.0(精简版).ppt_第2页
MATLAB的符号运算V4.0(精简版).ppt_第3页
MATLAB的符号运算V4.0(精简版).ppt_第4页
MATLAB的符号运算V4.0(精简版).ppt_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

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

文档简介

Matlab语言基础,张启升 地球物理与信息技术学院 测控教研室教五楼125 E-mail:,第4讲 MATLAB的符号运算,符号运算的功能,符号表达式、创建符号矩阵 因式分解、展开和简化 符号代数方程求解 符号微积分 符号微分方程 符号线性代数,Matlab符号运算是通过符号数学工具箱(Symbolic Math Toolbox)来实现的。,Matlab的符号运算简介,符号对象的建立:sym 和 syms,例:, syms x y z, x=sym(x); y=sym(y); z=sym(z);,符号对象建立时可以附加属性: real、positive 和 unreal, k=sym(k,positive), x=sym(x,real), x=sym(x,unreal),表明 x 是实的,表明 k 是正的,去掉 x 的附加属性,Matlab的符号运算,符号表达式的建立, f2=sym(sin(x)+cos(x), syms x f1=sin(x)+cos(x),推荐!,Matlab的符号运算,相关函数,findsym: 查找符号表达式中的符号变量,findsym(f) 按字母顺序列出符号表达式 f 中的所有自由变量findsym(f,N) 列出 f 中距离 x 最近的 N 个自由变量(i,j 除外),默认自变量findsym(f,1), a=sym(a);x=sym(x);k=sym(3); f=k*x+a; findsym(f),例:,ans=a,x,Matlab的符号运算,相关函数,subs:符号替换,subs(f): 用当前工作空间中存在的变量值,替换 f中所有出现的相同的变量,并进行简化计算。 subs(f,x,a):用 a 替换 f 中的 x ;a 是可以是 数/数值变量/表达式 或 符号变量/表达式。 若x与a为相同大小的向量或矩阵,则用a中相应的元素替换x中的元素; 若f,x为标量,而a是向量或矩阵,则f与x将扩展为与a相同形状的向量或矩阵。,Matlab的符号运算,例:, syms x y f=2*x+y; x=3,y=4; subs(f) subs(f,x,a), syms x y a b f=2*x+y; subs(f,x,y,3,4) subs(f,x,y,3,4) subs(f,x,1:3) subs(f,x,y,1:3,5:7) subs(f,x,y,a+b,a-b) subs(f,x,y,x+y,x-y),ans=10,ans=2*a+y,ans=10,ans=2+y,4+y,6+y,ans=7 10 13,ans=3*a+b,?,Matlab的符号运算,符号矩阵,使用sym函数直接生成, A=sym(1+x, sin(x); 5, exp(x),将数值矩阵转化成符号矩阵, 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),Matlab的符号运算, D=1+x, sin(x); 5, exp(x),符号矩阵的基本运算,符号矩阵的基本运算与数值矩阵的基本运算相类似。,1) 基本运算符:+、-、*、/、.*、.、./、.、 、.,2) 三角函数与反三角函数:sin、cos、tan、 ,3) 指数、对数函数:sqrt、exp、log、 ,4) 复数函数:real、imag、conj、 abs,5) 矩阵函数:det、inv、rank、 (没有norm),6) 矩阵元素的抽取:diag、tril、triu,Matlab的符号运算,六大常见符号运算,因式分解、展开、合并、简化及通分等,因式分解:factor, syms x f=x6 +1 s=factor(f),s =(1+x2)*(x4-x2+1),factor 也可用于正整数的分解,Matlab的符号运算,大整数的分解,Matlab的符号运算,展开函数: expand,多项式展开,三角函数展开,该函数经常用于多项式展开,也常用于三角函数、指数函数和对数函数的展开中。,Matlab的符号运算,合并同类项: collect,collect(f,v): 按指定变量 v 的次数合并系数; collect(f): 合并 f 中的默认自变量的各项系数。,findsym(f,1),Matlab的符号运算,简化函数: simple 和 simplify,simple(f): 对 f 尝试多种不同的算法简化, 返回其中最短的简化形式; R,HOW=simple(f): R为f的最短简化形式, HOW中记录的为简化过程中使用的主要方法。,simple函数示例,Matlab的符号运算,simplify(f): 简化函数,Matlab的符号运算,分式通分: numden,N,D=numden(f): N为通分后的分子,D为通分后的分母,Matlab的符号运算,horner多项式:嵌套形式的多项式,例:,Matlab的符号运算,六大常见符号运算,因式分解、展开、合并、简化及通分等,计算极限,limit(f,x,a): 计算,limit(f,a): 计算默认自变量趋向于a时f的极限,limit(f): 计算 a=0 时的极限,limit(f,x,a,right):右极限 limit(f,x,a,left):左极限,Matlab的符号运算,例:求极限, syms h n x L=limit(log(x+h)-log(x)/h,h,0) M=limit(1-x/n)n,n,inf),L=1/x,M=exp(-x), syms x L=limit(abs(x)/x,x,0,left) R=limit(abs(x)/x,x,0,right),L=-1,M=1,Matlab的符号运算,六大常见符号运算,因式分解、展开、合并、简化及通分等,计算极限,计算导数,diff(f): 计算 f 关于默认自变量的导数,diff(f,v): 计算 f 关于变量 v 的导数,diff(f,n),diff(f,v,n),diff(f,n,v): n次求导,Matlab的符号运算,例:设 y=sin(ax),求, syms a x y=sin(a*x) A=diff(y,x) B=diff(y,a) C=diff(y,x,2) D=diff(y,a,2),A=cos(a*x)*a,B=cos(a*x)*x,C=-sin(a*x)*a2,D=-sin(a*x)*x2,Matlab的符号运算,六大常见符号运算,因式分解、展开、合并、简化及通分等,计算极限,计算导数,计算积分,int(f,v,a,b):计算定积分,int(f,a,b): 计算 f 关于默认自变量 的定积分,int(f,v):计算不定积分,int(f):计算 f 关于默认自变量 的不定积分,Matlab的符号运算,六大常见符号运算,因式分解、展开、合并、简化及通分等,计算极限,计算导数,计算积分,符号求和,symsum(f,v,a,b): 求和,symsum(f,a,b): 关于默认自变量 求和。,Matlab的符号运算,六大常见符号运算,因式分解、展开、合并、简化及通分等,计算极限,计算导数,计算积分,符号求和,解代数方程和微分方程,Matlab的符号运算,solve(f) 求一个方程的解 solve(f1,f2, fn) 求n个方程的解,dsolve(f,g) f为微分方程,可多至12个微分方程的求解;g为初始条件;默认自变量为 x,可任意指定自变量t, u等。 微分方程的各阶导数项以大写字母D表示,y1,y2=dsolve(x1,x2,xn) 返回 微分方程的解,其它运算,复合函数计算:compose,compose(f,g): 返回f(g(y),其中f=f(x),g=g(y), x,y 分别是 f 和 g 的默认自变量。,compose(f,g,z):返回f(g(z),其中x,y 分别是 f,g 的默认自变量,最后用符号变量z代替y。,compose(f,g,v,z):返回f(g(z),v为f中指定的自变量, 令v=g(z),代入 f=f(v)。,compose(f,g,v,w,z):返回f(g(z),其中v,w分别为f,g 的指定自变量,即将v=g(w)代入f(v),最后用z代替w。,Matlab的符号运算,其它运算,复合函数计算:compose,计算反函数:finverse,finverse(f): 返回f关于默认自变量的反函数, 若f的反函数g存在,则有g(f(x)=x。,fin

温馨提示

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

评论

0/150

提交评论