1

我有一个像这样的象征性表达:

syms h

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

我真的需要从中提取一个多项式,所以我写道:

polyn=coeffs(g,exp(h))

这给了我一个符号多项式,h等于:h^2+h+1

现在,我想从这个符号多项式中提取系数:

coeff=sym2poly(polyn);

但我收到错误消息:

使用 symengine 时出错(第 58 行)表达式不是多项式。

因此,要么我的计算机中有错误(有机会),要么 Matlab 没有将我的“符号多项式”识别为符号。实际上,波伦。

我必须提到,如果我输入:

polyn=h^2+h+1;

coeff=sym2poly(polyn);

我根本没有收到任何错误!但是,由于我正在编程,我无法键入这个多项式,所以我需要按照我的方式获取它。

有什么我可以在这里做的吗?

4

1 回答 1

1

这是对我有用的解决方案:

syms h
g= exp(h)+h*exp(h)+h^2*exp(h);
polyn= coeffs(g,exp(h))
polyn= sym(char(polyn));
coeff= sym2poly(polyn)
于 2016-09-22T05:56:12.477 回答