主要内容

最新のリリースでは,このページがまだ翻訳されていません。このページの最新版は英語でご覧になれます。

因素

説明

F=因素(xは,ベクトルF内のxのすべての既約因子を返します。xが整数の場合,因素xの素因数分解を返します。xがシンボリック式の場合は,因素xの因子である部分式を返します。

F=因素(xvarは因子の配列Fを返します。ここで,varは対象となる変数を指定します。var内の変数を含まない因子はすべて,最初のエントリF (1)に分離されます。他のエントリは,varからの変数を1つ以上含むxの既約因子です。

F=因素(___名称,值は1つ以上の名称,值引数のペアによって指定された追加オプションを使用します。この構文では,前の構文の入力引数のいずれも使用できます。

整数の因数分解

F =因素(823429252)
F = 2 2 59 283 12329

flintmaxよりも大きい整数を因数分解するには,信谊を使用して整数をシンボリックオブジェクトに変換します。その後,引用符内に数値を入れて正確に表現します。

F =因子(信谊(' 82342925225632328 '))
F = [2,2,2,251, 401, 18311, 5584781]

負の整数を因数分解するには,信谊を使用してシンボリックオブジェクトに変換します。

F =因子(信谊(-92465))
F = [- 1,5,18493]

大きな数の素因数分解

41758540882408627201の素因数分解を行います。この整数はflintmaxよりも大きいので,信谊を使用してシンボリックオブジェクトに変換し,整数を引用符内に入れて正確に表現します。

n =符号(' 41758540882408627201 ');因素(n)
Ans = [479001599, 87178291199]

シンボリックな分数の因数分解

信谊を使用して分数112/81をシンボリックオブジェクトに変換し,因数分解します。

F =因子(信谊(112/81))
F = [2,2,2,2,7,1 /3, 1/3, 1/3, 1/3]

多項式の因数分解

多項式x ^ 6 - 1を因数分解します。

信谊xF =因素(x ^ 6 - 1)
F = [x - 1, x + 1, x^2 + x + 1, x^2 - x + 1]

多項式y ^ 6 x ^ 6を因数分解します。

信谊yF =因素(y ^ 6 x ^ 6)
F = [1, x - y, x + y, x ^ 2 + y + y ^ 2 *, x ^ 2 - x * y + y ^ 2]

指定された変数を含む因子の分離

y ^ 2 * x ^ 2を因数分解してxを含む因子を求めます。

F = (y^2*x^2,x)
F = [y^2, x, x]

因素は,xを含まないすべての因子を最初の要素にまとめます。Fの残りの要素には,xを含む既約因子が含まれます。

多項式yを因数分解してシンボリック変数bおよびcを含む因子を求めます。

信谊a b c c d y = - * b ^ 5 * * d * (^ 2 - 1) * (* d - b * c);F = (y,[b c])
F =[——* d * (- 1) * (+ 1), b, b, b, b, b, c, c * d - b *)

因素は,bまたはcを含まないすべての因子をFの最初の要素にまとめます。Fの残りの要素には,bまたはcを含むyの既約因子が含まれます。

因数分解のモードの選択

引数FactorModeを使用して,特定の因数分解モードを選択します。

因数分解のモードを指定しないで,ある式を因数分解します。既定では,因素は有理数の範囲の因数分解を行います。このモードでは,因素は有理数が厳密にシンボリック型を保持するようにします。

Syms x因子(x^3 + 2, x)
Ans = x^3 + 2

同じ式を因数分解しますが,今度は実数の範囲の因数分解を行います。このモードでは,式を実数係数を使用した 1 次と 2 次の既約多項式に因数分解します。また、すべての数値を浮動小数点数に変換します。

(x^3 + 2, x, '因子模式','实')
Ans = [x + 1.2599210498948731647672106072782,…]X ^2 - 1.5874010519681994747517056392723 * X + 1.5874010519681994747517056392723]

複素数の範囲の因数分解を使用して,この式を因数分解します。このモードでは,因素は2次多項式を複素係数をもつ1次式に簡約します。このモードでは,すべての数値は浮動小数点数に変換されます。

(x^3 + 2, x, 'FactorMode', 'complex')
Ans = [x + 1.2599210498948731647672106072782,…]X - 0.62996052494743658238360530363911 + 1.0911236359717214035600726141898i,…X - 0.62996052494743658238360530363911 - 1.0911236359717214035600726141898i]

制約なしの因数分解モードを使用して,この式を因数分解します。このモードでは,2 次多項式を複素係数をもつ 1 次式に簡約して、式を 1 次式に因数分解します。このモードでは、有理数は厳密なシンボリック型が保持されます。

(x^3 + 2, x, ' factor mode ', 'full')
Ans = [x + 2^(1/3),…X - 2^(1/3)*(3^(1/2)*1i)/2 + 1/2,…X + 2^(1/3)*(3^(1/2)*1i)/2 - 1/2]

vpaを使用して,結果を浮動小数点数で近似します。式が変数x以外にシンボリックパラメーターを含まないので,結果は複素数の範囲の因数分解と同じになります。

vpa (ans)
Ans = [x + 1.2599210498948731647672106072782,…]X - 0.62996052494743658238360530363911 - 1.0911236359717214035600726141898i,…X - 0.62996052494743658238360530363911 + 1.0911236359717214035600726141898i]

RootOfを含む結果を近似する

制約なしの因数分解のモードでは,因素RootOfで表される多項式の根のシンボリックな和を返すこともあります。

次の式を因数分解します。

syms x s = factor(x^3 + x - 3, x, ' factor mode ','full')
S = [x -根(z^3 + z - 3, z, 1),…]X -根(z^3 + z - 3,z, 2),…X -√(z^3 + z - 3, z, 3)]

vpaを使用して,結果を浮動小数点数で近似します。

vpa (s)
Ans = [x - 1.2134116627622296341321313773815,…]X + 0.60670583138111481706606568869074 + 1.450612249188441526515442203395i,…X + 0.6067058313811148176606568869074 - 1.450612249188441526515442203395i]

入力引数

すべて折りたたむ

因子への入力。数値あるいはシンボリック数、式または関数として指定します。

対象の変数。シンボリック変数またはシンボリック変数のベクトルとして指定します。varで指定された変数を含まない因子はFの最初の要素内にまとめられます。Fの残りの要素には,varの変数を含むxの既約因子が含まれます。

名前と値のペアの引数

引数名称,值のオプションのコンマ区切りペアを指定します。的名字は引数名,价值は対応する値です。的名字は引用符で囲まなければなりません。Name1, Value1,…,的家のように,複数の名前と値のペアの引数を任意の順番で指定できます。

例:因素(x ^ 3 - 2 x,“FactorMode”,“真正的”)

因数分解のモード。“FactorMode”および次のいずれかの文字ベクトルから成るコンマ区切りペアで指定します。

“理性” 有理数の範囲内の因数分解。
“真实”的 実数の範囲内の因数分解。実数の範囲内の因数分解は,実数係数をもつ1次2次との既約多項式への因数分解です。この因数分解のモードでは,浮動小数点の実数に変換できる入力係数が必要です。他のすべての入力(たとえば,シンボリック係数や複素数係数を含む入力)は既約として扱われます。
“复杂” 複素数の範囲内の因数分解。複素数の範囲内の因数分解は,その係数が浮動小数点数である1次因数への因数分解です。このモードの因数分解は,入力係数が浮動小数点数に変換できる場合,つまり,根が数値で求められる場合のみ利用できます。シンボリック入力は既約として扱われます。
“全部” 制約なしの因数分解。制約なしの因数分解は,1次因数へのシンボリックな因数分解です。結果は,べき乗根を使用した複数の因子またはRootOfの範囲にあるsymsumとして示されます。

出力引数

すべて折りたたむ

入力因子。シンボリックベクトルとして返されます。

ヒント

  • flintmaxよりも大きい整数を因数分解するには,整数を信谊でラップします。その後,整数を引用符内に入れて正確に表現します(たとえば,信谊(“465971235659856452”))。

  • 負の整数を因数分解するには,整数を信谊でラップします(たとえば,信谊(3))。

R2006aより前に導入