版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、v MatlabMatlab 符号运算介绍符号运算介绍q M a t l a b 符 号 运 算 是 通 过 符 号 数 学 工 具 箱符 号 运 算 是 通 过 符 号 数 学 工 具 箱(Symbolic Math Toolbox)来实现的。来实现的。MatlabMatlab 符号运算(二)符号运算(二)q 符号对象的建立:符号对象的建立:sym sym 和和 symssyms例:例: symssyms x y z x y z x=sym(x)x=sym(x); y=sym(y)y=sym(y); z=sym(z)z=sym(z);q 符号对象建立时可以附加属性:符号对象建立时可以附加属性
2、: realreal、positive positive 和和 unrealunreal k=sym(k,positive)k=sym(k,positive) x=sym(x,real)x=sym(x,real) x=sym(x,unreal)x=sym(x,unreal)表明表明 x x 是实的是实的MatlabMatlab 符号运算(二)符号运算(二)表明表明 k k 是正的是正的去掉去掉 x x 的附加属性的附加属性q 符号表达式的建立符号表达式的建立 f2=f2=sym(sym(sin(x)+cos(xsin(x)+cos(x) ) ) symssyms x x f1=f1=sin(x
3、)+cos(xsin(x)+cos(x) ) f3=f3=sin(x)+cos(xsin(x)+cos(x) )用这种方法创建的符用这种方法创建的符号表达式对空格很敏号表达式对空格很敏感,不要在字符间随感,不要在字符间随意添加空格!意添加空格!MatlabMatlab 符号运算(二)符号运算(二)推荐!推荐!q 符号变量与符号常量符号变量与符号常量 a=sym(a)a=sym(a); b=sym(5)b=sym(5); c=sym(5)c=sym(5);b b、c c有区别吗?有区别吗?hinthint:help symhelp symq 相关函数相关函数 findsymfindsym: :
4、查找符号表达式中的查找符号表达式中的符号变量符号变量findsym(ffindsym(f) )按字母顺序列出符号表达式按字母顺序列出符号表达式 f 中的所有自由变量中的所有自由变量findsym(f,Nfindsym(f,N) )列出列出 f 中距离中距离 x 最近的最近的 N 个自由变量个自由变量(i,j 除外除外)默认自变量默认自变量findsym(f,1)findsym(f,1)MatlabMatlab 符号运算(二)符号运算(二) a=sym(a)a=sym(a);x=sym(x)x=sym(x);k=sym(3)k=sym(3); f=k f=k* *x+ax+a; findsym(
5、ffindsym(f) )例:例:ans=a,xq 相关函数相关函数 subssubs:符号替换符号替换MatlabMatlab 符号运算(二)符号运算(二)subs(f): subs(f): 用当前工作空间中存在的变量值,替换用当前工作空间中存在的变量值,替换 f f中所有出现的相同的变量,并进行简化计算。中所有出现的相同的变量,并进行简化计算。subs(f,x,a)subs(f,x,a):用用 a 替换替换 f 中的中的 x ;a 是可以是是可以是 数数/ /数值变量数值变量/ /表达式表达式 或或 符号变量符号变量/ /表达式表达式。 若若x与与a为相同大小的向量或矩阵,则用为相同大小的
6、向量或矩阵,则用a中相应的元中相应的元素替换素替换x中的元素;中的元素; 若若f,x为标量,而为标量,而a是向量或矩阵,则是向量或矩阵,则f与与x将扩展为将扩展为与与a相同形状的向量或矩阵。相同形状的向量或矩阵。 例:例: symssyms x y x y f=2 f=2* *x+yx+y; x=3,y=4 x=3,y=4; subs(f) subs(f) subs(f,x,a) subs(f,x,a)MatlabMatlab 符号运算(二)符号运算(二) symssyms x y a b x y a b f=2 f=2* *x+yx+y; subs(f,x,y,3,4)subs(f,x,y,
7、3,4) subs(f,x,y,3,4) subs(f,x,y,3,4) subs(f,x,1:3) subs(f,x,1:3) subs(f,x,y,1:3,5:7) subs(f,x,y,1:3,5:7) subs(f,x,y,a+b,a-b) subs(f,x,y,a+b,a-b) subs(f,x,y,x+y,x-y) subs(f,x,y,x+y,x-y)ansans=10=10ansans=2=2* *x+yx+yansans=10=10ansans=2+y,4+y,6+y=2+y,4+y,6+yansans=7 10 13=7 10 13yxxf 2)(ansans=3=3* *
8、a+ba+b?q符号矩阵符号矩阵 使用使用symsym函数直接生成函数直接生成MatlabMatlab 符号运算(二)符号运算(二) A=sym(1+x, sin(x); 5, exp(x)A=sym(1+x, sin(x); 5, exp(x) 将数值矩阵转化成符号矩阵将数值矩阵转化成符号矩阵 B=2/3, sqrt(2); 5.2, log(3)B=2/3, sqrt(2); 5.2, log(3) C=sym(B) C=sym(B) 符号矩阵中元素的引用和修改符号矩阵中元素的引用和修改 A=sym(1+x, sin(x); 5, exp(x)A=sym(1+x, sin(x); 5, e
9、xp(x) A(1,2) A(1,2) A(2,2)= A(2,2)=sym(cos(xsym(cos(x) ) 能否用能否用sym(B)?sym(B)?q 符号矩阵的基本运算符号矩阵的基本运算符号矩阵的基本运算与数值矩阵的基本运算相类似。符号矩阵的基本运算与数值矩阵的基本运算相类似。1) 1) 基本运算符基本运算符:+、-、*、/、.*、.、./、.、 、.2) 2) 三角函数与反三角函数三角函数与反三角函数:sin、cos、tan、 3) 3) 指数、对数函数指数、对数函数:sqrt、exp、log、 4) 4) 复数函数复数函数:real、imag、conj、 abs5) 5) 矩阵函数
10、矩阵函数:det、inv、rank、 (没有没有norm)MatlabMatlab 符号运算(二)符号运算(二)6) 6) 矩阵元素的抽取矩阵元素的抽取:diag、tril、triuq 六大常见符号运算六大常见符号运算 因式分解、展开、合并、简化及通分等因式分解、展开、合并、简化及通分等MatlabMatlab 符号运算(二)符号运算(二) 因式分解:因式分解:factorfactor symssyms x x f=x f=x6 +16 +1 s=factor(f) s=factor(f) s =(1+x2)*(x4-x2+1)factor factor 也可用于正整数的分解也可用于正整数的分
11、解大整数的分解大整数的分解MatlabMatlab 符号运算(二)符号运算(二) 展开函数:展开函数: expandexpand 多项式展开多项式展开MatlabMatlab 符号运算(二)符号运算(二) 三角函数展开三角函数展开该函数经常用于多项式展开,也常用于三角函数、该函数经常用于多项式展开,也常用于三角函数、指数函数和对数函数的展开中。指数函数和对数函数的展开中。 合并同类项:合并同类项: collectcollect collect(f,v)collect(f,v): : 按指定变量按指定变量 v v 的次数合并系数;的次数合并系数; collect(f)collect(f): :
12、合并合并 f f 中的中的默认自变量默认自变量的各项系数。的各项系数。MatlabMatlab 符号运算(二)符号运算(二)findsym(f,1)findsym(f,1) 简化函数简化函数: simple simple 和和 simplifysimplify simple(f)simple(f): : 对对 f f 尝试多种不同的算法简化,尝试多种不同的算法简化, 返回其中最短的简化形式;返回其中最短的简化形式; R,HOW=simple(f)R,HOW=simple(f): R: R为为f f的最短简化形式,的最短简化形式, HOWHOW中记录的为简化过程中使用的主要方法。中记录的为简化过
13、程中使用的主要方法。MatlabMatlab 符号运算(二)符号运算(二)f fR RHOWHOW2 2* *cos(x)cos(x)2-sin(x)2-sin(x)2 23 3* *cos(x)cos(x)2-12-1simplifysimplify( (x+1)x+1)* *x x* *(x-1)(x-1)x x3-x3-xcombine(trig)combine(trig)x x3+33+3* *x x2+32+3* *x+1x+1( (x+1)x+1)3 3factorfactorcos(3cos(3* *acos(xacos(x)4 4* *x x3-33-3* *x xexpand
14、expandsimplesimple函数示例函数示例 simplify(f)simplify(f): : 简化函数简化函数MatlabMatlab 符号运算(二)符号运算(二)注:多次注:多次 使用使用 simple 可以达到最简表达。可以达到最简表达。例:化简例:化简MatlabMatlab 符号运算(二)符号运算(二)32381261)(xxxxf 分式通分:分式通分: numdennumdenN,D=N,D=numden(fnumden(f) ): N: N为通分后的分子,为通分后的分子,D D为通分后的分母为通分后的分母MatlabMatlab 符号运算(二)符号运算(二) horne
15、rhorner多项式:嵌套形式的多项式多项式:嵌套形式的多项式MatlabMatlab 符号运算(二)符号运算(二)1) 1) 1( 1)(1xxxxxxxxfnn例:例:q 六大常见符号运算六大常见符号运算 因式分解、展开、合并、简化及通分等因式分解、展开、合并、简化及通分等MatlabMatlab 符号运算(二)符号运算(二) 计算极限计算极限 limit(f,x,a)limit(f,x,a): : 计算计算)(limxfax limit(f,a)limit(f,a): : 计算计算默认自变量默认自变量趋向于趋向于a a时时f f的极限的极限 limit(f)limit(f): : 计算计
16、算 a=0 a=0 时的极限时的极限 limit(f,x,a,right)limit(f,x,a,right):右极限右极限 limit(f,x,a,left)limit(f,x,a,left):左极限左极限例:求极限例:求极限 symssyms h n x h n x L=limit(log(x+h)-log(x)/h,h,0) L=limit(log(x+h)-log(x)/h,h,0) M=limit(1-x/n) M=limit(1-x/n)n,n,inf)n,n,inf)MatlabMatlab 符号运算(二)符号运算(二)L=1/xL=1/xM=exp(-x)M=exp(-x) s
17、ymssyms x x L=limit(abs(x)/x,x,0,left) L=limit(abs(x)/x,x,0,left) R=limit(abs(x)/x,x,0,right) R=limit(abs(x)/x,x,0,right)L=-1L=-1M=1M=1hxhxLh)ln()ln(lim0nnnxM1limq 六大常见符号运算六大常见符号运算 因式分解、展开、合并、简化及通分等因式分解、展开、合并、简化及通分等MatlabMatlab 符号运算(二)符号运算(二) 计算极限计算极限 计算导数计算导数 diff(f)diff(f): : 计算计算 f f 关于关于默认自变量默认自
18、变量的导数的导数 diff(f,v)diff(f,v): : 计算计算 f f 关于变量关于变量 v v 的导数的导数 diff(f,n),diff(f,v,n),diff(f,n,v)diff(f,n),diff(f,v,n),diff(f,n,v): : n n次求导次求导例:设例:设 y=sin(ax),y=sin(ax),求求 symssyms a x a x y=sin(a y=sin(a* *x)x) A=diff(y,x) A=diff(y,x) B=diff(y,a) B=diff(y,a) C=diff(y,x,2) C=diff(y,x,2) D=diff(y,a,2) D
19、=diff(y,a,2)MatlabMatlab 符号运算(二)符号运算(二)A=A=cos(acos(a* *x)x)* *a aB=B=cos(acos(a* *x)x)* *x xC=-sin(aC=-sin(a* *x)x)* *a2a2D=-sin(aD=-sin(a* *x)x)* *x2x22222 , , ,daydDdxydCdadyBdxdyAq 六大常见符号运算六大常见符号运算 因式分解、展开、合并、简化及通分等因式分解、展开、合并、简化及通分等MatlabMatlab 符号运算(二)符号运算(二) 计算极限计算极限 计算导数计算导数 计算积分计算积分 int(f,v,a
20、,bint(f,v,a,b) ): :计算定积分计算定积分 int(f,a,bint(f,a,b) ): : 计算计算 f 关于关于默认自变量默认自变量 的定积分的定积分 int(f,vint(f,v) ):计算不定积分计算不定积分 int(fint(f) ):计算计算 f 关于关于默认自变量默认自变量 的不定积分的不定积分badvvf)(dvvf)(例:求积分例:求积分 symssyms x x f=(x f=(x2+1)/(x2+1)/(x2-22-2* *x+2)x+2)2;2; I= I=int(fint(f) ) g= g=cos(x)/(sin(x)+cos(xcos(x)/(si
21、n(x)+cos(x);); J=int(g,x,0,pi/2) J=int(g,x,0,pi/2) h=exp(-x h=exp(-x2);2); K=int(h,x,0,inf) K=int(h,x,0,inf)MatlabMatlab 符号运算(二)符号运算(二),)22(1222dxxxxI2/0,cossincosdxxxxJdxeKx02I=I=3/23/2* *atan(x-1)+1/4atan(x-1)+1/4* *(2(2* *x-6)/(x2-2x-6)/(x2-2* *x+2)x+2)J=1/4J=1/4* *pipiK=1/2K=1/2* *pi(1/2)pi(1/2)
22、q 六大常见符号运算六大常见符号运算 因式分解、展开、合并、简化及通分等因式分解、展开、合并、简化及通分等MatlabMatlab 符号运算(二)符号运算(二) 计算极限计算极限 计算导数计算导数 计算积分计算积分 符号求和符号求和 symsum(f,v,a,bsymsum(f,v,a,b) ): : 求和求和 symsum(f,a,bsymsum(f,a,b) ): : 关于关于默认自变量默认自变量 求和。求和。bavvf)(例:求级数例:求级数 ,以及其前,以及其前1010项的部分和。项的部分和。 symssyms n n S=symsum(1/n S=symsum(1/n2,n,1,in
23、f)2,n,1,inf) S10=symsum(1/n S10=symsum(1/n2,n,1,10)2,n,1,10)MatlabMatlab 符号运算(二)符号运算(二)S=S=1/61/6* *pipi2 2S10=1968329/1270080S10=1968329/1270080121nnS例:求函数级数例:求函数级数12nnxS symssyms n x n x S=symsum(x/n S=symsum(x/n2,n,1,inf)2,n,1,inf)S=S=1/61/6* *x x* *pipi2 2q 六大常见符号运算六大常见符号运算 因式分解、展开、合并、简化及通分等因式分解
24、、展开、合并、简化及通分等MatlabMatlab 符号运算(二)符号运算(二) 计算极限计算极限 计算导数计算导数 计算积分计算积分 符号求和符号求和 解代数方程和微分方程(见实验三、六)解代数方程和微分方程(见实验三、六)q 其它运算其它运算 复合函数计算:复合函数计算:composecomposeMatlabMatlab 符号运算(二)符号运算(二) compose(f,g)compose(f,g): : 返回返回f(g(y),f(g(y),其中其中f=f(x),g=g(y),f=f(x),g=g(y), x,y x,y 分别是分别是 f f 和和 g g 的默认自变量。的默认自变量。
25、compose(f,g,z)compose(f,g,z): :返回返回f(g(z),f(g(z),其中其中x,y x,y 分别是分别是 f,gf,g 的默认自变量,最后用符号变量的默认自变量,最后用符号变量z z代替代替y y。 compose(f,g,v,z)compose(f,g,v,z): :返回返回f(g(z),vf(g(z),v为为f f中指定的自变量,中指定的自变量, 令令v=g(z),v=g(z),代入代入 f=f(v)f=f(v)。 compose(f,g,v,w,z)compose(f,g,v,w,z): :返回返回f(g(z),f(g(z),其中其中v,wv,w分别为分别为
26、f,gf,g 的指定自变量,即将的指定自变量,即将v=g(w)v=g(w)代入代入f(v),f(v),最后用最后用z z代替代替w w。例:例: symssyms x y z u t x y z u t f= f=cos(x/tcos(x/t) ); y=sin(y/u)y=sin(y/u); compose(f,g) compose(f,g) compose(g,f) compose(g,f) compose(f,g,z) compose(f,g,z) compose(f,g,x,z) compose(f,g,x,z) compose(f,g,t,z) compose(f,g,t,z) co
27、mpose(f,g,t,y,z) compose(f,g,t,y,z) compose(f,g,t,u) compose(f,g,t,u) compose(f,g,t,u,z) compose(f,g,t,u,z)MatlabMatlab 符号运算(二)符号运算(二)sin(y/u)g ),/cos(txfansans= =cos(sin(y/u)/tcos(sin(y/u)/t) )ansans= =sin(cos(x/t)/usin(cos(x/t)/u) )ansans= =cos(sin(z/u)/tcos(sin(z/u)/t) )ansans= =cos(x/sin(z/ucos(
28、x/sin(z/u)ansans= =cos(x/sin(y/ucos(x/sin(y/u)ansans= =cos(x/sin(y/zcos(x/sin(y/z)q 其它运算其它运算 复合函数计算:复合函数计算:composecomposeMatlabMatlab 符号运算(二)符号运算(二) 计算反函数:计算反函数:finversefinverse finverse(ffinverse(f) ): : 返回返回f f关于关于默认自变量默认自变量的反函数,的反函数, 若若f f的反函数的反函数g g存在存在,则有则有g(f(x)=xg(f(x)=x。 finverse(f,vfinverse
29、(f,v) ): : 返回返回f f关于自变量关于自变量v v的反函数的反函数g g, 即即 g(f(v)=vg(f(v)=v。例:例: symssyms x t x t f=x f=x2+22+2* *t t; finverse(ffinverse(f) ) finverse(f,yfinverse(f,y) )MatlabMatlab 符号运算(二)符号运算(二)txf22ansans=(-2=(-2* *t+x)t+x)(1/2)(1/2)ansans=-1/2=-1/2* *x x2+1/22+1/2* *t tWarning: finverse(x2+2*t) is not uniq
30、ue作业:作业:MatlabMatlab 符号运算(二)符号运算(二)1.1.化简化简xxxf2sincos)(exp(iexp(i* *x)x)?2.2. symssyms a b x X Y a b x X Y k=sym(3) k=sym(3); z=sym(cz=sym(c* *sqrt(delta)+ysqrt(delta)+y* *sin(theta)sin(theta); f=af=a* *z z* *X+(bX+(b* *x2+k)x2+k)* *Y Y;试试写出下面命令的结果写出下面命令的结果, ,上机验证,并说明理由上机验证,并说明理由: : findsym(ffindsy
31、m(f) ) findsym(f,1) findsym(f,1) findsym(f,2) findsym(f,2) findsym(f,3) findsym(f,3)MatlabMatlab 符号运算(二)符号运算(二)3.3.设设A A是一个符号矩阵(定义如下),试指出是一个符号矩阵(定义如下),试指出findsym(A,1)findsym(A,1) 的输出结果,并由此得出结论:的输出结果,并由此得出结论:findsymfindsym 确定自由变量时,是对整个矩阵进行的,还确定自由变量时,是对整个矩阵进行的,还是对各个矩阵元素分别进行是对各个矩阵元素分别进行?symssyms a b t u v x y a b t u v x y;A=a+bA=a+b* *x,sin(t)+ux,sin(t)+u; x x* *exp(-t),l
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026高三名校联考高分作文范文(11篇)
- 基于云计算的远程控制系统设计与实现
- 护理课件设计工具及比较
- 2026年江西水利职业学院单独招生《职业适应性测试》模拟试题及参考答案
- 透明度间2026年文化娱乐项目合作合同协议
- 2025年虚拟试衣系统的数据库读写分离方案设计
- 联想技术客服面试技巧与注意事项
- 基于移动互联网的远程医疗服务应用研究
- 零售业店长招聘面试全解全析
- 4.10.2保护人身权 课件
- 小儿股静脉抽血课件
- 2026年湖南有色金属职业技术学院单招职业技能考试题库附答案
- 暖通高效机房设计
- 建筑毕业论文2000字
- 多器官功能衰竭长期卧床患者支持方案
- 2025年江西机电职业技术学院单招职业技能测试题库附答案
- 财务共享服务在房地产行业中的应用可行性研究报告
- 植物向日葵养护知识培训课件
- 幼儿园课件:《体能大循环的有效开展策略》
- 医药卫生人员进修申请表
- (正式版)DB15∕T 4138-2025 《餐饮场所使用醇基燃料消防安全管理规范》
评论
0/150
提交评论