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

My symbolic polynomial it's not a symbolic polynomial?! Weird error

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

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

但我收到错误消息:

"使用符号引擎时出错(第 58 行) 表达式不是多项式。"

所以,要么我的电脑有错误(有可能),要么 Matlab 没有将我的 "symbolic polynomial" 识别为符号。波林,实际上。

我不得不提一下,如果我输入:

polyn=h^2+h+1;

coeff=sym2poly(polyn);

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

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

这是适合我的解决方案:

syms h
g= exp(h)+h*exp(h)+h^2*exp(h);
polyn= coeffs(g,exp(h))
polyn= sym(char(polyn));
coeff= sym2poly(polyn)