第4章MATLAB符号计算_第1页
第4章MATLAB符号计算_第2页
第4章MATLAB符号计算_第3页
第4章MATLAB符号计算_第4页
第4章MATLAB符号计算_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

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

文档简介

MATLAB基础及应用

第2版主编:于润伟朱晓慧第4章MATLAB符号计算本章要点符号计算的基本函数符号微积分符号方程求解4.1符号函数的计算一、符号变量和符号矩阵函数:符号变量名=sym(‘表达式’)说明:创建一个符号变量。表达式可以是变量、字符、字符串、数学表达式或字符表达式等。函数:syms变量名1变量名2变量名3…说明:一次创建多个符号变量。例4-1创建符号变量。>>clear>>a=sym(‘matlab’)>>b=sym(‘3*x^2+4*x+7’)>>e=[135;246;7911]%创建数值矩阵>>m=sym(e)%创建符号矩阵(没加单引号)例4-2创建符号变量和符号矩阵。>>clear>>symsABC//观察工作窗口>>symsabcd>>n=[abcd;bcda;cdab;dacb]二、常用函数数值运行结果为数值符号运算结果为表达式或符号MATLAB运算中,浮点运算速度最快,符号运算占用时间和内存比较多,但运算结果最精确。在默认情况下,当生成符号变量后,利用符号工具箱中提供的函数进行符号运算。二、常用函数1.算术函数函数格式说明函数格式说明symadd(S1,S2)符号表达式S1加上符号表达式S2symdiv(S1,S2)符号表达式S1除符号表达式S2symsub(S1,S2)符号表达式S1减去符号表达式S2sympow(S,p)符号表达式S1的p次幂,p可以是表达式symmul(S1,S2)符号表达式S1乘上符号表达式S2例4-3计算表达式与表达式x-1的和、差、积、商河乘方。>>clear>>symsx>>s1=x^3-1>>s2=x-1>>symadd(s1,s2)%7.0版取消该函数,而直接运算>>symsub(s1,s2)>>symmul(s1,s2)>>symdiv(s1,s2)>>sympow(s1,s2)2.化简函数

函数格式说明函数格式说明collect(s,x)合并自变量x的同幂系数simple(s)寻找表达式的最简型expand(s)符号表达式s的展开simplify(s)符号表达式的化简factor(s)因式分解radsimp(s)对含根式的表达式s化简numden(s)符号表达式s的分式通分horner(s)符号表达式s的嵌套形式例4-4对表达式进行因式分解。>>clear>>symsx>>f=factor(x^3-1)%用例4-5的方式表示例4-5展开三角函数表达式sin(a+b)。>>clear>>s=sym(‘sin(a+b)’)%用sym函数创建符号变量>>expend(s)例4-6对表达式f=x(x(x-8)+6)t,分别将自变量x和t的同类项合并。>>clear>>symsxt>>f=x*(x*(x-8)+6)*t;%与上例比又一种表示方法>>collect(f)%按默认的变量x合并>>collect(f,t)%按变量t合并例4-9对表达式f=x/y-y/x进行通分。>>clear>>symsxy>>f=x/y-y/x;>>[m,n]=numden(f)%如果没有m、n则默认ans为分子例4-10对表达式进行嵌套形式重写。>>clear>>symsx>>f=x^4+3*^3-7*x^2+12;>>horner(f)%注意观察什么是嵌套形式3.替换函数函数:[R,SYM]=subexpr(S,‘SYM’)说明:用变量SYM(字符或字符串)的值代替符号表达式S中重复出现的字符串,R是返回替换后的结果。函数subs的调用格式:R=subs(S,old,new)说明:该函数是用新的符号变量new替换原来符号表达式S中的变量old,R是替换后的符号表达式。需要注意的,当变量new是数值形式时,显示的结果虽然是数值,但事实上还是符号变量,可以用vpa函数强制求值。例4-11求解并化简三次方程符号解。>>clear>>t=solve(‘a*x^3+b*x+1=0’)>>[r,s]=subexpr(t,’s’)%可否采用subs例4-12求表达式在x=1时的代数值。>>clear>>symsx>>s=(3*x^3+x^2-1)/(x^2+1)>>r=subs(s,’x’,’1’)%此处1为符号变量>>vpa(r)%求x=1的值三、可视化符号函数计算器

在MATLAB的命令窗口输入funtool,即可启动可视化符号函数计算器。4.2符号微积分一、符号极限函数格式说明limit(s)s为符号表达式。在默认表达式中的自变量趋向于0时的极限。limit(s,a)a为常数。表达式s中由默认自变量趋向于a条件下的极限。limit(s,x,a)计算符号表达式s在x趋向于a条件下的极限。limit(s,x,a,‘right’)计算符号表达式s在x趋向于a条件下的右极限limit(s,x,a,‘left’)计算符号表达式s在x趋向于a条件下的左极限例4-13分别计算表达式、、、、。先在命令窗口创建符号变量a和x,再分别计算上面各表达式的极限。>>clear>>symsxa;>>limit(1/x,x,0,’right’)>>limit(1/x,x,0,’left’)>>limit(sin(x)/x)>>limit((1+1/x)^x,x,inf,’left’)%注意左右极限>>limit(exp(-x),x,0,’left’)二、符号求导函数:diff(s,x,n)说明:其中s为符号表达式,x为自变量,n为求导的阶数。例4-14分别计算表达式的一阶导数和三阶导数。>>clear>>symsx>>diff(x^5)>>diff(x^5,3)%x,n都可以默认,自变量为系统默认,如果有多个变量,选择字母顺序表中最接近x的字母作为自变量。默认n为一阶导数。三、符号积分

函数格式说明函数格式说明int(s)符号表达式s对于默认自变量的不定积分int(s,x)符号表达式s对于自变量x的不定积分int(s,a,b)符号表达式s对于默认自变量从a到b的定积分int(s,x,a,b)符号表达式s对于自变量x从a到b的定积分表4-8符号积分的函数格式例4-15分别计算下列表达式的积分。

(1)(2)(3)(4)>>clear>>symsxy>>s=(4-3*x^2)^2;>>int(s)>>int(x/(x+y),x)>>int(x/(x+y),y)>>int(x^2/(x+2),x,1,3)>>double(ans)%以双精度计算ans四、积分变换

函数名称函数格式说明傅立叶变换fourier(fx,x,t)fx为函数f(x)的符号表达式、x为自变量、t像函数F(t)的自变量。结果为函数f(x)的傅立叶像函数F(t)ifourier(Fw,t,x)Fw为函数F(t)的符号表达式、t为自变量、x为原函数f(x)的自变量。结果为函数F(t)的傅立叶原函数f(x)拉普拉斯变换laplace(fx,x,t)结果为函数f(x)的拉普拉斯像函数F(t)ilaplace(Fw,t,x)结果为函数F(t)的拉普拉斯原函数f(x)Z变换ztrans(fx,x,t)结果为函数f(x)的Z变换像函数F(t)iztrans(Fw,t,x)结果为函数F(t)的Z变换原函数f(x)例4-16求函数的傅里叶变换及其逆变换。>>clear>>symsxt>>y=exp(-x^2);>>Ft=fourier(y,x,t)%傅里叶变换>>fx=ifourier(Ft,t,x)%逆变换4.3符号方程求解一、代数方程

函数格式说明solve(s)求解符号表达式s=0的代数方程,自变量为默认自变量solve(s,x)求解符号表达式s=0的代数方程,自变量为xsolve(s1,s2,…sn,x1,x2,...xn)求解由符号表达式s1,s2,…sn组成的代数方程组,自变量分别为x1,x2,...xn具体调用方式:[x1,x2,…,xn]=solve()例4-19求解代数方程程序:>>clear>>symsabcx>>s=a*x^2+b*x+c;%若将b*x的x换为y会怎样>>solve(s)%可以换种写法例4-20求解代数方程组程序:>>clear>>symsxyz>>s1=2*x^2+y^2-3*z-4>>s2=y+z-3>>s3=x-2*y-3*z>>[x,y,z]=solve(s1,s2,s3)%注意[x,y,z]的使用如果不写会怎样后面省去了自变量x,y,z二、微分方程微分方程:y’’+y’+x-10=0MATLAB中的表示方式:D2y+Dy+x-10=0条件的写法:y’(0)=3用Dy(0)=3表示解方程的函数:dsolve()函数:r=dsolve(‘eq’,‘cond’,‘var’)说明:式中eq代表常微分方程,cond代表常微分方程的边界条件或初始条件,var代表自变量,缺省取系统默认的自变量。该函数可求解微分方程的特解。函数:r=dsolve(‘eq1’,‘eq2’…‘eqN’,‘cond1’,‘cond2’…‘condN’,‘var1’…‘varN’)说明:该函数求解由eq1,eq2,…指定的常微分方程组在条件cond1,cond2,…,condN下的符号解,若不给出初始条件,则求方程组的通解。var1,…,varN为求解变量,缺省取系统默认的自变量。例4-21求微分方程的通解。>>clear>>y=dsolve(‘Dy-(t^2+y^2)/t^2/2’,’t’)%注意式子写法

例4-22求微分方程的通解和当y(0)=1时的特解。>>clear>>y=dsolve(‘Dy=2*x*y^2’,’x’)%求通解>>y=dsolve(‘Dy=2*x*y^2’,’y(0)=1’,’x’)%求特解这种写法中t必须存在,若换为=的式子则可以省去可否像前面例子用s来代替这个表达式x不能省去,因为系统默认为t例4-23求微分方程的通解。>>clear>>[x,y]=dsolve(‘Dx=4*x-2*y’,’Dy=2*x-y’,’t’)x,y为要求解的变量,同例4-20一样不可省略4.4级数一、级数的符号求和函数格式说明函数格式说明symsum(S)计算符号表达式S(表示级数的通项)对于默认自变量的不定和。symsum(S,a,b)计算符号表达式S对于默认自变量从a到b的有限和。symsum(S,x)计算符号表达式S对于自变量x的不定和。symsum(S,x,a,b)计算符号表达式S对于自变量x从a到b的有限和。例4-24分别计算表达式、、。>>clear>>symsxk>>symsum(k)>>symsum(k^2-3,0,10)>>symsum(x^k/k,k,1,inf)%如果把k换为x有何结果,如果求不定和有什么结果二、函数的泰勒级数

函数格式说明函数格式说明taylor(s)计算符号表

温馨提示

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

评论

0/150

提交评论