- 1、本文档共11页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
符号表达式运算
符号表达式运算
?
一旦创建了一个符号表达式,或许想以某些方式改变它;也许希望提取表达式的一部分,合并两个表达式或求得表达的数值。有许多符号工具可以帮助完成这些任务。
所有符号函数(很少特殊例外的情况,讨论于后)作用到符号表达式和符号数组,并返回符号表达式或数组。其结果有时可能看起来象一个数字,但事实上它是一个内部用字符串表示的一个符号表达式。正如我们前面所讨论的,可以运用MATLAB函数isstr来找出像似数字的表达式是否真是一个整数或是一个字符串。
提取分子和分母
如果表达式是一个有理分式(两个多项式之比),或是可以展开为有理分式(包括哪些分母为1的分式),可利用numden来提取分子或分母。
在必要时,numden将表达式合并、有理化并返回所得的分子和分母。进行这项运算的MATLAB语句是:
m= x^2 % create a simple expression
m=
x^2
[n,d]=numden(m) % extract the numerator and denominator
n=
x^2
d=
1
f= a*x^2/(b-x) % create a rational expression
f=
a*x^2/(b-x)
[n,d]=numden(f) % extract the numerator and denominator
n=
a*x^2
d=
b-x
前二个表达式得到期望结果。
g= 3/2*x^2+2/3*x-3/5 % rationalize and extract the parts
g=
3/2*x^2+2/3*x-3/5
[n,d]=numden(g)
n=
45*x^2+20*x-18
d=
30
h= (x^2+3)/(2*x-1)+3*x/(x-1) % the sum of rational polynomials
h=
(x^2+3)/(2*x-1)+3*x/(x-1)
[n,d]=numden(h) % rationalize and extract
n=
x^3+5*x^2-3
d=
(2*x-1)*(x-1)
在提取各部分之前,这二个表达式g和h被有理化,并变换成具有分子和分母的一个简单表达式。
k=sym( [3/2,(2*x+1)/3;4/x^2,3*x+4] ) % try a symbolic array
k=
[ 3/2,(2*x+1)/3]
[4/x^2, 3*x+4]
[n,d]=numden(k)
n=
[3, 2*x+1]
[4, 3*x+4]
d=
[ 2,3]
[x^2,1]
这个表达式k是符号数组,numden返回两个新数组n和d,其中n是分子数组,d是分母数组。如果采用s=numden(f)形式,numden仅把分子返回到变量s中。
标准代数运算
很多标准的代数运算可以在符号表达式上执行,函数symadd、symsub、symlnul和symdiv为加、减、乘、除两个表达式,sympow将一个表达式上升为另一个表达式的幂次。
f= 2*x^2+3*x-5 % define the symbolic expression
f=
2*x^2+3*x-5
g= x^2-x+7
g=
x^2-x+7
symadd(f,g) % find an expression for f+g
ans=
3*x^2+2*x+2
symsub(f,g) % find an expression for f-g
ans=
x^2+4*x-12
symmul(f,g) % find an expression for f*g
ans=
(2*x^2+3*x-5)*(x^2-x+7)
symdiv(f,g) % find an expression for f/g
ans=
(2*x^2+3*x-5)/(x^2-x+7)
sympow(f, 3*x ) % find an expression for
ans=
(2*x^2+3*x-5)^3**
另一个通用函数可让用户用其它的符号变量、表达式和算子创建新的表达式。symop取由逗号隔开的、多至16个参量。各个参量可为符号表达式、数值或算子( + 、 - 、*、 / 、 ^ 、 ( 或 ) ),然后symop可将参量联接起来,返回最后所得的表达式.
f= cos(x) % create an expression
f=
cos(x)
g= sin(2*x) % create anothe
文档评论(0)