资源描述:
《matlab符号计算3》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第9章MATLAB符号计算9.1符号对象9.2符号微积分9.3级数9.4符号方程求解9.1符号对象9.1.1建立符号对象1.建立符号变量和符号常量MATLAB提供了两个建立符号对象的函数:sym和syms,两个函数的用法不同。(1)sym函数sym函数用来建立单个符号量,一般调用格式为:符号量名=sym('符号字符串')该函数可以建立一个符号量,符号字符串可以是常量、变量、函数或表达式。应用sym函数还可以定义符号常量,使用符号常量进行代数运算时和数值常量进行的运算不同。下面的命令用于比较符号常量与数值常量在代数运算时的差别。(2)sy
2、ms函数函数sym一次只能定义一个符号变量,使用不方便。MATLAB提供了另一个函数syms,一次可以定义多个符号变量。syms函数的一般调用格式为:syms符号变量名1符号变量名2…符号变量名n用这种格式定义符号变量时不要在变量名上加字符串分界符(‘),变量间用空格而不要用逗号分隔。2.建立符号表达式含有符号对象的表达式称为符号表达式。建立符号表达式有以下3种方法:(1)利用单引号来生成符号表达式。(2)用sym函数建立符号表达式。(3)使用已经定义的符号变量组成符号表达式。例:比较下述三个语句,区别符号运算和数值运算>>a1=[1/
3、3,pi/7,sqrt(5),pi+sqrt(5)]a1=0.33330.44882.23615.3777>>a2=sym([1/3,pi/7,sqrt(5),pi+sqrt(5)])a2=[1/3,pi/7,sqrt(5),6054707603575008*2^(-50)]>>a3=a2+1/2a3=[5/6,1/7*pi+1/2,5^(1/2)+1/2,206801798656135/35184372088832]当数值数据和符号量之间运算时的情况a1=[1/3,pi/7,sqrt(5),pi+sqrt(5)]a1=0.33330.
4、44882.23615.3777>>a2=sym([1/3,pi/7,sqrt(5),pi+sqrt(5)])a2=[1/3,pi/7,sqrt(5),6054707603575008*2^(-50)]a4=a1+a2a4=[2/3,2/7*pi,2*5^(1/2),189209612611719/17592186044416]9.1.2符号表达式运算1.符号表达式的四则运算符号表达式的加、减、乘、除运算可分别由函数symadd、symsub、symmul和symdiv来实现,幂运算可以由sympow来实现。2.符号表达式的提取分子和分
5、母运算如果符号表达式是一个有理分式或可以展开为有理分式,可利用numden函数来提取符号表达式中的分子或分母。其一般调用格式为:[n,d]=numden(s)该函数提取符号表达式s的分子和分母,分别将它们存放在n与d中。3.符号表达式的因式分解与展开MATLAB提供了符号表达式的因式分解与展开的函数,函数的调用格式为:factor(s):对符号表达式s分解因式。expand(s):对符号表达式s进行展开。collect(s):对符号表达式s合并同类项。collect(s,v):对符号表达式s按变量v合并同类项。4.符号表达式的化简MAT
6、LAB提供的对符号表达式化简的函数有:simplify(s):应用函数规则对s进行化简。simple(s):调用MATLAB的其他函数对表达式进行综合化简,并显示化简过程。例:化简表达式(1)y=2sin(x)cos(x)(2)y=27x7-81x6-234x5+1360x4-2368x3+1968x2-800x+128y=sym('2*sin(x)*cos(x)')y=2*sin(x)*cos(x)simple(y)simplify:2*sin(x)*cos(x)radsimp:2*sin(x)*cos(x)combine(trig)
7、:sin(2*x)factor:2*sin(x)*cos(x)expand:2*sin(x)*cos(x)combine:sin(2*x)convert(exp):-i*(exp(i*x)-1/exp(i*x))*(1/2*exp(i*x)+1/2/exp(i*x))convert(sincos):2*sin(x)*cos(x)convert(tan):4*tan(1/2*x)/(1+tan(1/2*x)^2)^2*(1-tan(1/2*x)^2)collect(x):2*sin(x)*cos(xmwcos2sin:2*sin(x)*c
8、os(x)ans=sin(2*x)>>y=27*x^7-81*x^6-234*x^5+1360*x^4-2368*x^3+1968*x^2-800*x+128y=27*x^7-81*x^6-234*x^5+