我有一个像这样的符号表达式:
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);
我根本没有任何错误!但是,由于我正在编程,我无法输入这个多项式,所以我需要以我的方式获得它。
我能在这做些什么吗?
答案 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)