resultant
2 つの多項式の終結式
説明
例
2 つの多項式の終結式を求めます。
syms x y p = x^2+y; q = x-2*y; resultant(p,q)
ans = 4*y^2 + y
3 番目の引数を使用して、特定の変数について終結式を求めます。
resultant(p,q,y)
ans = 2*x^2 + x
2 つの多項式が共通の根を持つ場合、終結式はその根で 0 でなければなりません。1 つの変数について終結式を計算し、その終結式を他の変数について解くことによって、2 つの変数の多項方程式を解きます。
まず、x
について 2 つの多項式の終結式を計算し、y
で多項式を返します。
syms x y p = y^3 - 2*x^2 + 3*x*y; q = x^3 + 2*y^2 - 5*x^2*y; res = resultant(p,q,x)
res = y^9 - 35*y^8 + 44*y^6 + 126*y^5 - 32*y^4
根の y
値に対して終結式を解きます。関数 solve
を使って方程式をシンボリックに解くことで、数値の丸め誤差を回避します。solve
は、root
を使用して解をシンボリックに表します。
yRoots = solve(res)
yRoots = 0 0 0 0 root(z^5 - 35*z^4 + 44*z^2 + 126*z - 32, z, 1) root(z^5 - 35*z^4 + 44*z^2 + 126*z - 32, z, 2) root(z^5 - 35*z^4 + 44*z^2 + 126*z - 32, z, 3) root(z^5 - 35*z^4 + 44*z^2 + 126*z - 32, z, 4) root(z^5 - 35*z^4 + 44*z^2 + 126*z - 32, z, 5)
vpa
を使用して数値を計算します。
vpa(yRoots)
ans = 0 0 0 0 0.23545637976581197505601615070637 - 0.98628744767074109264070992415511 - 1.1027291033304653904984097788422i - 0.98628744767074109264070992415511 + 1.1027291033304653904984097788422i 1.7760440932430169904041045113342 34.96107442233265321982129918627
ここでは 5 乗根を調べることにします。5 乗根について、p
と q
に y
値を代入して x
値を計算します。それから x
について多項式を同時に解きます。solve
を使用して方程式をシンボリックに解くことによって数値の丸め誤差を回避します。
eqns = subs([p q], y, yRoots(5)); xRoot5 = solve(eqns,x);
vpa
を使用して 5 乗根の数値を計算します。
root5 = vpa([xRoot5 yRoots(5)])
root5 = [ 0.37078716473998365045397220797284, 0.23545637976581197505601615070637]
root5
を p
と q
に代入し、根が正しいことを検証します。結果は、丸め誤差の範囲内の 0
です。
subs([p q],[x y],root5)
ans = [ -6.313690360861895794753956010471e-41, -9.1835496157991211560057541970488e-41]
入力引数
多項式。シンボリック式またはシンボリック関数として指定します。
多項式。シンボリック式またはシンボリック関数として指定します。
変数。シンボリック変数として指定します。
バージョン履歴
R2018a で導入
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)