メインコンテンツ

poly2sym

R2026b

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

説明

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

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

例

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

例

例

すべて折りたたむ

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

syms a b c d
p = poly2sym([a,b,c,d])
p = a x3+b x2+c x+d

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

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

x22-x3+14

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

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

3 x24-x2+14

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

syms a b c d t
p = poly2sym([a,b,c,d],t)
p = a t3+b t2+c t+d

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

p1 = subs(p,t,t^2 + 1)
p1 = d+a t2+13+b t2+12+c t2+1
p2 = subs(p,t,exp(t))
p2 = d+c et+a e3 t+b e2 t

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

p_coeffs = [1 4 5 4 4];
p = poly2sym(p_coeffs)
p = x4+4 x3+5 x2+4 x+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+22 x-i x+i

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

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

入力引数

すべて折りたたむ

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

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

出力引数

すべて折りたたむ

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

ヒント

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

バージョン履歴

R2006a より前に導入

参考

| |