matlab求数学表达式分子分母,怎样提取表达式的分子和分母

MATLAB中所有符号函数(很少特殊例外的情况,讨论于后)作用到符号表达式和符号数组,并返回符号表达式或数组。其结果有时可能看起来象一个数字,但事实上它是一个内部用字符串表示的一个符号表达式。正如我们前面所讨论的,可以运用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(

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值