Main Content

poly2sym

係数ベクトルからのシンボリックな多項式の作成

説明

p = poly2sym(c) は、係数ベクトル c からシンボリックな多項式 p を作成します。多項式の変数は x です。c = [c1,c2,...,cn] の場合、p = poly2sym(c)c1xn1+c2xn2+...+cn を返します。

この構文は、シンボリック変数 x を MATLAB® ワークスペースに作成しません。

p = poly2sym(c,var) は、係数ベクトル c からシンボリックな多項式 p を作成するとき、多項式の変数として var を使用します。

すべて折りたたむ

係数のシンボリック ベクトルから多項式を作成します。多項式の変数を指定しない場合、poly2symx を使用します。

syms a b c d
p = poly2sym([a,b,c,d])
p = ax3+bx2+cx+d

有理数係数のシンボリック ベクトルから多項式を作成します。

p = poly2sym(sym([1/2,-1/3,1/4]))
p = 

x22-x3+14

浮動小数点係数の数値ベクトルから多項式を作成します。多項式を作成する前に、ツールボックスは浮動小数点の係数を有理数に変換します。

p = poly2sym([0.75,-0.5,0.25])
p = 

3x24-x2+14

係数のシンボリック ベクトルから多項式を作成します。多項式の変数として t を使用します。

syms a b c d t
p = poly2sym([a,b,c,d],t)
p = at3+bt2+ct+d

多項式の変数の代わりに t^2 + 1exp(t) のようなシンボリック式を使用するには、subs を使用してその変数を置き換えます。

p1 = subs(p,t,t^2 + 1)
p1 = d+at2+13+bt2+12+ct2+1
p2 = subs(p,t,exp(t))
p2 = d+cet+ae3t+be2t

整数係数の数値ベクトルから多項式を作成します。

p_coeffs = [1 4 5 4 4];
p = poly2sym(p_coeffs)
p = x4+4x3+5x2+4x+4

poly2sym は、シンボリック変数 x をワークスペースに作成しないため、syms を使ってこの変数を作成します。solveを使用して多項式の根を求めます。

syms x
p_roots = solve(p,x)
p_roots = 

(-2-2-ii)

多項式は 4 つの根をもちます。これらの根が正しい解であることを確認するには、根から元の多項式を再構成します。

x から各根を引いて多項式の因数分解された形式を求めます。

p_elem = x-p_roots
p_elem = 

(x+2x+2x+ix-i)

多項式の因数分解された形式の積を取得します。

p_new = prod(p_elem)
p_new = x+22x-ix+i

多項式を展開し、その結果が元の式と同じであることを確認します。

p_new = expand(p_new)
p_new = x4+4x3+5x2+4x+4

入力引数

すべて折りたたむ

数値ベクトルまたはシンボリック ベクトルで指定される多項式の係数。引数 c は列ベクトルまたは行ベクトルです。

多項式の変数。シンボリック変数として指定します。

出力引数

すべて折りたたむ

シンボリック式として返される多項式。

ヒント

  • 数値ベクトル c に対して poly2sym を呼び出すと、ツールボックスは sym の既定 (有理数) の変換モードを使用して、数値ベクトルをシンボリック数のベクトルに変換します。

バージョン履歴

R2006a より前に導入

参考

| |