MATLAB应用7-1.ppt_第1页
MATLAB应用7-1.ppt_第2页
MATLAB应用7-1.ppt_第3页
MATLAB应用7-1.ppt_第4页
MATLAB应用7-1.ppt_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

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

文档简介

1、4、符号运算,符号计算的特点: 一、运算以推理解析的方式进行,不存在计算误差累积问题; 二、符号计算给出封闭解,当封闭解不存在时给出数值解; 三、符号计算指令的调用比较简单,与教科书公式相近; 四、计算所需时间长,有时难以忍受。 在运算中,由包含符号对象的表达式所生成的衍生对象也都是符号对象 在MATLAB中,符号计算虽以数值计算的补充身份出现,但涉及符号计算的指令使用、运算符操作、计算结果可视化、程序编制以及在线帮助系统都是十分完整、便捷,4-1、符号对象的生成和使用,定义基本符号对象的指令有两个:sym和syms 1、使用sym函数定义符号变量和表达式 a=sqrt(sym(3) (比较a

2、=sqrt(3)) f=sym(a*x2+b*x+c) ; g=f2+4*f-2 2、使用sym函数生成符号方程 eq1=sym(sin(x)+cos(x)=1) 3、使用syms函数定义符号变量和表达式 syms a b c d f=sym(a*x2+b*x+c);g=f2+4*f-2,4-1、符号对象的生成和使用,sym指令常用格式选项: 1、数值或数值表达式转换成符号对象时: t=0.01 sym(t)或 sym(t,r) %将数值变量t转换为有理数形式表示 sym(t,f) %将数值变量t转换为16进制浮点数形式表示 sym(t,e) %将数值变量t转换带估计误差的有理形式表示 sym

3、(t,d) %将数值变量t转换为最接近的十进制浮点数形式表示 2、字符串换成符号对象时: sym(t2,positive)%将t2限定为正、实符号变量 ( real,unreal 实,非实符号变量),数据对象及其识别指令使用举例,数值计算对象、符号计算对象和字符串是Matlab中最常遇到的3种数据对象。它们遵循不同生成方式和操作指令。 例1: a=1;b=2;c=3;d=4; %产生四个数值变量 Mn=a,b;c,d %利用已赋值构成2*2数组 Mc=a,b;c,d %生成字符串矩阵与前面赋值无关 Ms=sym(a,b;c,d) %生成符号变量矩阵,与前面赋值无关 size(Mn), size

4、(Mc), size(Ms) % 3矩阵大小不同:2*2数组,1*9字符串, 2*2符号变量 class(Mn),class(Mc),class(Ms) % 3矩阵类别不同: double,char,sym,4-1、符号对象的生成和使用,例2、把字符表达式转换为符号变量 y=sym(2*sin(x)*cos(x) %把字符表达式转换成符号变量 y=simple(y) %将y符号表达式化简 例3、求矩阵 的行列式值、逆和特征根 syms a11 a12 a21 a22; A=a11,a12;a21,a22 DA=det(A),IA=inv(A),EA=eig(A),4-2、符号表达式和符号函数的

5、操作,符号表达式中的自由变量的确定: findsym (f) %找出f中全部自由变量 findsym (f,n) %找出f中n个靠近x的自由变量 例: syms a b x X Y; k=sym(3); %符号声明,生成常数符号 z=sym(c*sqrt(delta)+y*sin(theta); %生成符号变量 EXPR=a*z*X+(b*x2+k)*Y; %生成符号变量 findsym(EXPR) %全部自由独立变量,(常数符号k、因变量z在外) findsym(EXPR,3) %确定3个自由变量,4-2、符号表达式和符号函数的操作,合并同类项: collect(expr,v) %对expr

6、表达式中的符号对象v的同幂项系数进行合并 syms x y, collect(x2*y+y*x-x2-2*x,x)%x可省略 因式分解: syms a x;f1=x4-5*x3+5*x2+5*x-6; factor(f1) %对表达式(或正整数)进行因式(或因子)分解 horner(f1) %把多项式分解成嵌套形式 符号表达式的简化: f=sin(x)2+cos(x)2; simple(f) %把符号表达式转化成最简短形式 h,how=simple(f) %h简化结果,how为运用的简化方法 simplify(f) %运用恒等式对表达式进行综合简化(不一定为最简形式),4-2、符号表达式和符号

7、函数的操作,置换与求值: f1=3*x3+5*x2-14*x-26;subs(f1,2) % 将x =2带入求值 fun1=sin(x)+cos(y); subs(fun1,x,y,2,3) %将x =2,y=3带入求值 subs(f1,x,y) %用y替换x 反函数运算: f=x2+y; finverse(f,y) %对指定自变量为y的函数f(y),求反函数g(y) 复合函数运算: syms x y z t u; f=1/(1+x2);g=sin(y); h=xt;p=exp(-y/u); compose(f,g); compose(f,g,t); compose(h,g,x,z); com

8、pose(h,g,t,z); compose(h,p,x,y,z); compose(h,p,t,u,z),4-2、符号表达式和符号函数的操作,设定数值精度: k=sqrt(sym(3) digits %显示当前精度给出指定精度下数值型符号结果 digits(50) %将系统内部精度设为50位 j=vpa(k) %给出指定精度下数值型符号结果 j=vpa(k,n) %给出n位相对精度下数值型符号结果 符号对象与其它数据对象间的转换: phi=sym(1+sqrt(5)/2) %数值对象转换成符号常数 double(phi) %符号常数转换成双精度存贮的数值 syms x;f=x3+2*x2-3

9、*x+5; %生成符号多项式 sy2p=sym2poly(f) %由符号多项式产生数值系数行向量 p2st=poly2str(sy2p,x) %把系数行向量变成易读形式 p2sy=poly2sym(sy2p) %把数值系数行向量再转换为符号多项式,符号、数值、字符串间的转换指令,符号多项式、系数向量、字符串多项式之间的转换指令,符号计算中的基本算符和函数,1、基本运算符同数值对象运算符: +、-、*、/、实现矩阵运算; .*、./、.、.实现数组运算; 、.分别实现共轭转置和非共轭转置 2、关系运算符: 只有进行等于和不等比较=、=,符号计算中的基本算符和函数,3、三角函数、双曲函数及它们的反

10、函数: 除atan2仅能用于数值计算外,其余符号计算函数同数值计算 4、指数、对数函数: sqrt、exp、expm同数值计算;对数计算只有log(没有log2和log10) 5、复数函数:共轭conj、实部real、虚部imag、模abs同数值计算。不能求符号对象的相角,4-3、符号代数方程的求解,代数方程包括线性、非线性和超越方程,求解指令为solve。当方程组不存在符号解时,将给出数值解。使用格式如下: S=solve(eq1,eq2,eqn,v1,v2,vn) %eq1,eq2,eqn为字符串方程或表达式; v1,v2,vn是求解变量 %S是构架数组。若要显示结果,必须采用S.v1,S

11、.v2,S.vn的方式,4-3、符号代数方程的求解,例1:求方程组 关于y,z的解。 S=solve(u*y2+v*z+w=0,y+z+w=0,y,z) disp(S.y),disp(S.y),disp(S.z),disp(S.z) 以下指令都能给出关于y,z的正确解: y,z=solve(u*y2+v*z+w=0,y+z+w=0,y,z) syms y z u v w, S=solve(u*y2+v*z+w,y+z+w,y,z) S=solve(u*y2+v*z+w,y+z+w,y,z),4-3、符号代数方程的求解,例2:求 构成的“欠定”方程组解 syms d n p q; eq1=d+n

12、/2+p/2-q;eq2=n+d+q-p-10;eq3=q+d-n/4-p; S=solve(eq1,eq2,eq3,d,n,p,q);S.d,S.n,S.p,S.q 例3:求 的解 syms x;s=solve(x+2)x=2,x),4-4、符号微分方程的求解,符号计算中微分方程的初值问题和边值问题求解指令形式相同: S=dsolve(a_1,a_2,a_n) %输入量包括3部分内容:微分方程、初始条件、指定独立变量。其中微分方程必须输入,其余视需要而定。输入量必须以字符形式编写。 %独立变量由全部输入量a_1,a_2,a_n中最后一个量a_n定义。若不加定义,默认小写英文字母t为独立变量。

13、 %微分方程的记述规定:当y是应变量时,用Dny表示y的n阶导数。 如Dy表示 ,Dny表示 %初始或边界条件被写成y(a)=b,Dy(c)=d等。a,b,c,d可以是变量使用符外的其它字符。当初始条件少于微分方程数时,所得解中将出现任意常数符C1,C2,。任意常数的个数等于所缺的初始条件数。 %输出量S是结构单元。,4-4、符号微分方程的求解,例1、求解 S=dsolve(Dx=y,Dy=-x); disp(blanks(12),x,blanks(21),y),disp(S.x,S.y) 例2、求解两点的边值问题: y=dsolve(x*D2y-3*Dy=x2,y(1)=0,y(5)=0,x

14、),4-4、符号微分方程的求解,例3、求初值问题的解: S=dsolve(Df=3*f+4*g,Dg=-4*f+3*g,f(0)=0,g(0)=1) S.f,S.g S=dsolve(Df=3*f+4*g,Dg=-4*f+3*g,f(0)=0,g(0)=1,x),4-5、符号微积分,1、符号极限 syms x limit(F,x,a) %计算当xa时F=F(x)的极限值 limit(sin(x)/x,x,1) limit(F) %计算当自变量0时F的极限值 limit(sin(x)/x) limit(F,x,a,right) %当xa+时F的极限值 limit(sin(x)/x,x,0,rig

15、ht) limit(F,x,a,left) %当xa-时F的极限值 limit(sin(x)/x,x,0,left) 2、符号微分和求导 w=sym(6*z5),w1=sym(y+z5) diff(y) %求y表达式的一阶导数 diff(w) diff(y,n) %求y表达式的n阶导数 diff(w,3) diff(y,z,n) %求y表达式对变量z的n阶导数 diff(w1,z,2) Jacobian(f,v) %求多元向量函数f的jacobian矩阵,4-5、符号微积分,3、符号积分 int(f,y) %f对指定变量y的不定积分,未加常数。若y略,则对x积分 int(f,n1,n2) %f对指定变量x从n1到n2的定积分 int(f,y,n1,n2) %f对指定变量y从n1到n2的定积分 例: f=sym(x2+x*y;sin(x)*cos(y) int(f,y); int(f,1,2); int(f,y,1,2) 4、符号积分变换 Fourier变换及其逆变换 f1=fourier(f); g=ifourier(f1) Laplace变换及其逆变换 syms w t,g=laplace(sin(w*t); h=ilaplace(g) Z变换及其反变换 g=z

温馨提示

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

评论

0/150

提交评论