收藏 分销(赏)

【matlab教学PPT】第6讲_matlab_的符号运算.ppt

上传人:s4****5z 文档编号:12562735 上传时间:2025-10-31 格式:PPT 页数:101 大小:661.50KB 下载积分:10 金币
下载 相关 举报
【matlab教学PPT】第6讲_matlab_的符号运算.ppt_第1页
第1页 / 共101页
【matlab教学PPT】第6讲_matlab_的符号运算.ppt_第2页
第2页 / 共101页


点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第,6,讲 符号计算,第,6,讲 符号计算,符号计算是数字运算的自然扩展,其特点包括:,不受计算误差的困扰;,计算可以给出完全正确的封闭解或任意精度的数值解;,计算的指令比较简单,所需要的时间较长。,6.1,符号计算入门,1,求解代数方程,2,求解微分方程,3,计算导数,4,计算定积分,自然科学理论分析中的公式、关系式及其推导是符号计算要解决的问题。,MATLAB,数值计算的对象是数值,而符号计算的对象则是非数值的符号字符串。,1,求解代数方程,2,求解微分方程,3,计算导数,4,计算定积分,6.2,符号对象的创建和使用,6.2.1,创建符号对象和表达式,6.2.2,符号对象的基本运算,在符号计算中,需定义一种新的数据类型,sym,类。,sym,类的实例就是符号对象,符号对象是一种数据结构,用来存储代表符号变量、表达式和矩阵的字符串。,6.2.1,创建符号对象和表达式,1,符号常量,2,符号变量,3,符号表达式,4,符号矩阵,函数,sym(),和命令,syms,创建符号常量、变量、函数以及表达式,函数,class(),检验符号对象类型。,(,1,)函数,sym(),函数,sym(),的具体使用方法如下:,s,sym(A,flag,),;,s,sym(A,flag,),。,(,2,)命令,syms,命令,syms,的具体使用方法如下:,syms,s1,sn,flag,。,(,3,)函数,class(),函数,class(),的具体使用方法如下:,str,class(object,),。,1,符号常量,符号常量是一种符号对象。数值常量如,果作为函数命令,sym(),的输入参量,就建立,了一个符号对象,符号常量。,2,符号变量,符号变量通常是由一个或几个特定的字符表示。符号变量的命名规则如下所示:,变量名可以由英文字母、数字和下划线组成;,变量名应以英语字母开头;,组成变量名的字母长度不大于,31,个;,区分大小写。,在,MATLAB,中,用函数,sym(),和命令,syms,来创建符号变量。,3,符号表达式,符号表达式是由以下部分组成的符号对象:,符号常量;,符号变量;,符号运算符;,专用函数。,4,符号矩阵,元素是符号对象的矩阵叫做符号矩阵。,6.2.2,符号对象的基本运算,1,基本运算符,2,关系运算符,3,三角函数、双曲函数以,及它们的反函数,4,指数、对数函数,5,复数函数,6,矩阵函数,运算符“”、“”、“*”、“,”,、“,/”,、“,”,分别实现矩阵的加、减、乘、左除、右除和求幂运算。,运算符“*”、“,/”,、“,”,、“,”,分别实现“元素对元素”的数组乘、左除、右除和求幂运算。,运算符“,”,、“,”,分别实现矩阵的共轭转置和非共轭转置。,1,基本运算符,运算符“”和“”分别对运算符两边的对象进行“相等”、“不等”的比较。,当事实为“真”时,返回结果,1,;,当事实为“假”时,返回结果,0,。,2,关系运算符,除函数,atan2(),仅能用于数值计算外,其余的三角函数、双曲函数及它们的反函数都能用于符号计算。,3,三角函数、双曲函数及其反函数,4,指数、对数函数,函数,sqrt,(),、,exp(),、,expm,(),、,log(),、,log2(),和,log10(),都能用于符号计算。,函数,conj(),、,real(),、,imag,(),和,abs(),都能用于符号计算,但相角函数没有提供。,5,复数函数,6,矩阵函数,函数,diag,(),、,triu,(),、,tril,(),、,inv(),、,det,(),、,rank(),、,rref,(),、,null(),、,colspace,(),、,poly(),、,expm,(),和,eig,(),都能用于符号计算。,6.3,任意精度计算,1,digits(d,),2,vpa(A,d,),3,double(A,),符号计算的显著特点是计算过程中不会出现舍入误差,从而可以得到任意精度的数值解。,MATLAB,提供以下函数实现将符号计算得到的精确值转换成任意精度。,设定精度为,d,位有效数字,默认值是,32,。,1,digits(d,),2,vpa(A,d,),对符号计算得到的精确值进行近似,有效位数为,d,位,若不指定,d,,则按当前有效位数输出。,3,double(A,),对符号计算得到的精确值转换为双精度。,6.4,符号表达式的化简和替换,6.4.1,符号表达式的化简,6.4.2,符号表达式的替换,MATLAB,提供函数实现对符号计算的结果进行化简和替换,如:,因式分解;,同类项合并;,符号表达式展开、化简;,通分、符号替换。,6.4.1,符号表达式的化简,1,函数,collect(),2,函数,expand(),3,函数,horner,(),4,函数,factor(),5,函数,simplify(),6,函数,simple(),1,函数,collect(),函数,collect(),将符号表达式中同类项合并,其具体使用方法如下:,R=,collect(S,),:将表达式,S,中的相同次幂的项合并;,R=,collect(S,v,),:将表达式,S,中变量,v,的相同次幂的项合并。,2,函数,expand(),函数,expand(),将符号表达式进行展开,其具体使用方法如下:,R=,expand(S,),:将表达式,S,中的各项进行展开。,3,函数,horner,(),函数,horner,(),将符号表达式转换成嵌套形式,其具体使用方法如下:,R=,horner(S,),:将符号多项式矩阵,S,中的每个多项式转换成它们的嵌套形式。,4,函数,factor(),函数,factor(),对符号多项式进行因式分解,其具体使用方法如下:,R=,factor(X,),:如果,X,是一个多项式或多项式矩阵,该函数将,X,表示成低阶多项式相乘的形式;如果,X,不能分解成有理多项式乘积的形式,则返回,X,本身。,5,函数,simplify(),函数,simplify(),将符号表达式按一定规则简化,其具体使用方法如下:,R=,simplify(S,),:该函数可应用于包含和式、方根、分数的乘方、等符号表达式矩阵,S,。,6,函数,simple(),该函数是将符号表达式表示成最简形式,其具体使用方法如下:,r=,simple(S,),:用几种不同的算术简化规则对符号表达式进行简化,并显示中间过程;,r,how,=,simple(S,),:不显示中间过程,并附加返回最简形式对应的简化方法。,6.4.2,符号表达式的替换,1,函数,subexpr,(),2,函数,subs(),在,MATLAB,中,用函数,subexpr,(),和,subs(),来实现符号替换,从而简化符号表达式。,1,函数,subexpr,(),函数,subexpr,(),将符号表达式中重复出现的字符串用符号变量代替,其具体使用方法如下:,Y,SIGMA=,subexpr(S,SIGMA,),:指定用符号变量,SIGMA,来代替符号表达式中重复出现的字符串;,Y,SIGMA=,subexpr(S,SIGMA,),:这种形式和上一种形式的不同在于第,2,个输入参数是字符或字符串。,2,函数,subs(),函数,subs(),用指定符号替换符号表达式中的某一特定符号,其具体使用方法如下,:,R=,subs(S,Old,New,),:用新符号变量,New,替代原来符号表达式,S,中的变量,Old,。,6.5,符号矩阵计算,1,基本代数运算,2,线性代数运算,3,特征值分解,4,约当标准型,5,奇异值分解,1,基本代数运算,两符号矩阵进行加减运算时必须满足数值矩阵加减的规则。,符号矩阵进行线性代数运算时和数值矩阵的一样。,2,线性代数运算,3,特征值分解,函数,eig,(),求符号方阵的特征值和特征向量,其具体用法如下:,E=,eig(A,),:求符号方阵,A,的符号特征值,E,;,v,E,=,eig(A,),:求符号方阵,A,的符号特征值,E,和相应的特征向量,v,。,函数,jordan,(),求矩阵的约当标准形,其具体用法如下:,J=,jordan(A,),:计算矩阵,A,的约当标准型;,V,J=,jordan(A,),:附加返回相应的变换矩阵,V,。,4,约当标准型,5,奇异值分解,函数,svd,(),求矩阵的奇异值分解,其具体用法如下:,S=,svd(A,),:给出符号矩阵的奇异值对角矩阵,其计算精度由函数,digits,(),来指定;,U,S,V=,svd(A,),:附加给出,U,和,V,两个正交矩阵且满足,A,=,U,*,S,*,V,。,6.6,符号微积分,1,符号表达式的极限,2,符号表达式的微分,3,符号表达式的积分,4,级数求和,5,泰勒级数,1,符号表达式的极限,函数,limit(),求表达式的极限,其具体用法如下:,limit(F,x,a,),:求当,xa,时,符号表达式,F,的极限;,limit(F,a,),:求符号表达式,F,的默认自变量趋近于,a,时的极限;,limit(F,),:求符号表达式,F,的默认自变量趋近于,0,时的极限;,limit(F,x,a,right,),或,limit(F,x,a,left,),:分别求取符号表达式,F,的右极限和左极限。,函数,diff(),来求表达式的微分,其具体用法如下:,diff(S,v,),:将符号“,v,”,视作变量,对符号表达式或矩阵,S,求微分;,2,符号表达式的微分,diff(S,n,),:将,S,中的默认变量求,n,阶微分;,diff(S,v,n,),:将符号“,v,”,视作变量,对符号表达式或矩阵,S,求,n,阶微分。,函数,int,(),求表达式的积分,其具体用法如下:,R=,int(S,),:用默认变量求符号表达式,S,的不定积分;,3,符号表达式的积分,R=,int(S,v,),:用符号标量,v,作为变量求符号表达式,S,的不定积分值;,R=,int(S,a,b,),:符号表达式采用默认变量;,R=,int(S,v,a,b,),:符号表达式采用符号标量,v,作为标量,求当,v,从,a,到,b,时,符号表达式,S,的定积分值。,函数,symsum,(),来对符号表达式进行求和,其具体用法如下:,r=,symsum(s,a,b,),:求符号表达式,s,中默认变量从,a,到,b,的有限和;,r=,symsum(s,v,a,b,),:求符号表达式,s,中变量,v,从,a,到,b,的有限和。,4,级数求和,函数,taylor(),对符号表达式进行泰勒级数展开,其具体用法如下:,r=,taylor(f,),:返回,f,在变量等于,0,处的,5,阶泰勒展开式;,5,泰勒级数,r=,taylor(f,n,v,),:符号表达式,f,以符号标量,v,作为自变量,返回,f,的,n,-1,阶泰勒展开式。,r=,taylor(f,n,v,a,),:返回符号表达式,f,在,v,=,a,处的,n,-1,阶泰勒展开式。,6.7,符号积分变换,1,Fourier,变换,2,Laplace,变换,3,Z,变换,在数学中经常采用变换的方法,将复杂的运算转化为简单的运算,如数量的乘除可以通过对数变换成加减。积分变换就是通过积分运算实现变换。,1,Fourier,变换,Fw,=,fourier(ft,t,w,),:求时域函数,ft,的,Fourier,变换,Fw,;,ft=,ifourier(Fw,w,t,),:求频域函数,Fw,的,Fourier,反变换。,2,Laplace,变换,函数,laplace,(),和,ilaplace,(),实现,f,(,t,),到,F,(,s,),和,F,(,s,),到,f,(,t,),的变换,其具体用法如下:,Fs=,laplace(ft,t,s,),:求时域函数,ft,的,Laplace,变换,Fs,;,ft=,ilaplace(Fs,s,t,),:求频域函数,Fs,的,Laplace,反变换,ft,。,3,Z,变换,函数,ztrans,(),和,iztrans,(),来实现,f,(,n,),到,F,(,z,),和,F,(,z,),到,f,(,n,),的变换,其具体用法如下:,FZ=,ztrans(fn,n,z,),:求采样点,fn,的,Z,变换,FZ,;,fn=,iztrans(FZ,z,n,),:求,FZ,的,Z,反变换,fn,。,6.8,符号方程求解,1,代数方程,2,微分方程,符号方程可以分为代数方程和微分方程。,代数方程可以细分为线性方程和非线性方程两类;,微分方程可以细分为常微分方程和偏微分方程。,1,代数方程,函数,solve(),求解代数方程,其具体用法如下:,g=,solve(eq,),:其中,eq,可以是符号表达式或不带符号的字符串,该函数求解方程,eq,=0,;,g=,solve(eq,var,),:求解方程,eq,=0,,其自变量由参数,var,指定;,g=solve(eq1,eq2,eq,n,),:求解由符号表达式或不带符号的字符串,eq,1,,,eq,2,,,,,eqn,组成的方程组;,g=solve(eq1,eq2,eq,n,var1,var2,var,n,),:求解由符号表达式或不带等号的字符串,eq,1,,,eq,2,,,,,eqn,组成的方程组。,2,微分方程,函数,dsolve,(),求解微分方程,其具体用法如下。,r=dsolve(eq1,eq2,cond1,cond2,v),:求由,eq,1,,,eq,2,指定的常微分方程组的符号解;,r=dsolve(eq1,eq2,cond1,cond2,v),:求由,eq,1,,,eq,2,指定的常微分方程组的符号解。,6.9,可视化数学分析界面,1,图示化符号函数计算器,2,泰勒级数逼近分析器,在,MATLAB,中,为符号函数可视化提供图示化符号函数计算器(由命令,funtool,启动)和泰勒级数逼近分析器(由命令,taylortool,启动)。,1,图示化符号函数计算器,运行命令,funtool,后,可看到如下图所示的图示化符号函数计算器界面。,两个图形窗口只有一个能处于激活状态,函数运算控制窗口上的任何操作都只能对被激活的图形窗口起作用。,(,1,)第,1,排按键只对函数,f,起作用,如计算导数、积分、简化、提取分子和分母、,1,/f,以及反函数。,(,2,)第,2,排按键处理函数,f,和常数,a,之间的加、减、乘、除等运算。,(,3,)第,3,排的前,4,个按键对函数,f,和,g,进行算术运算。第,5,个按键求复合函数,第,6,个按键把,f,函数传递给,g,,最后一个按键实现,f,和,g,的互换。,(,4,)第,4,排按键对计算器自身进行操作,该计算器包含一个函数列表,fxlist,,这,7,个按键的功能依次如下。,Insert,:把当前激活窗的函数写入列表;,Cycle,:依次循环显示,fxlist,中的函数;,Delete,:从,fxlist,列表中删除激活窗的函数;,Reset,:使计算器恢复到初始调用状态;,Help,:获得关于界面的在线提示说明;,Demo,:自动演示。,2,泰勒级数逼近分析器,运行命令,taylortool,后,可看到如下图所示的泰勒级数逼近分析器界面。,该界面用于观察函数,f,(,x,),在给定区间上被,N,阶泰勒多项式,TN,(,x,)逼近的情况;,函数,f,(,x,),在界面的,f,(,x,),栏中直接键入并回车即可;,界面中,N,被缺省为,7,,可以用右侧的按键增减阶数,也可以直接写入阶数;,界面上的,a,是级数的展开点,缺省为,0,;,函数的观察区可被设置,缺省为(,2,2,)。,
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服