我的符号多项式它不是符号多项式?!奇怪的错误

时间:2016-09-22 04:32:04

标签: matlab symbolic-math polynomial-math coefficients

我有一个像这样的符号表达式:

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);

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

我能在这做些什么吗?

1 个答案:

答案 0 :(得分: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)