2016-09-22 15 views
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);

を私はすべてのエラーを取得いけません!しかし、私はプログラミングしているので、この多項式は入力できませんので、私はそれを私のやり方で取得する必要があります。

私はここで何かできますか?ここで

+0

私はあなたのコードに続き、私はエラーを得ません。あなたのコードは 'coeffs'と' sym2poly'の間に 'polyn'を使って何もしませんか?たぶん、 'sym2poly'の直前にブレークポイントを追加して、'ポリニュー 'のように見えるかもしれません。 – erfan

+0

@erfanこの明日はまともなコンピュータでテストするつもりですが、私は信頼できません。どうも – gustavoreche

答えて

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)