从符号表达式中提取系数

时间:2016-09-21 23:19:06

标签: matlab symbolic-math coefficients

syms h

g=exp(h)+h*exp(h)+h^2

因此,g相对于h的系数由函数coeffs给出:

coeffs(g,h)

然后它返回:

[exp(h),exp(h),1]

就像这个函数在h中处理像多项式这样的符号表达式。

问题是这个函数不会返回零系数,所以如果我有一个

g=h*exp(h)+h^2

该函数仅返回:

[exp(h), 1]

但我需要的是:

[0,exp(h), 1]

那么,我能在这做什么?

2 个答案:

答案 0 :(得分:0)

我讨厌成为那些讲座的海报之一,但这是在Matlab帮助(help coeff)或online

中列出的
coeffs(g,h, 'All')

答案 1 :(得分:0)

我在SO上讨论了很多主题,解决方案是:

syms  h
g=h*exp(h)+h^2
m = eval(feval(symengine,'coeff',g,h,'All'));