Main Content

divisors

整数または式の約数

説明

divisors(n) は整数 n のすべての非負の約数を求めます。

divisors(expr,vars) は多項式 expr の約数を求めます。ここで、vars は多項式変数です。

整数の約数

整数のすべての非負の約数を求めます。

整数の約数を求めます。倍精度の数値またはシンボリック オブジェクトに変換された数値を使用できます。倍精度の数値に対して divisors を呼び出すと、倍精度の数値のベクトルを返します。

divisors(42)
ans =
     1     2     3     6     7    14    21    42

負の整数の約数を求めます。divisors は負の整数に対して非負の約数を返します。

divisors(-42)
ans =
     1     2     3     6     7    14    21    42

シンボリック数に対して divisors を呼び出すと、シンボリック ベクトルを返します。

divisors(sym(42))
ans =
[ 1, 2, 3, 6, 7, 14, 21, 42]

0 の唯一の約数は 0 です。

divisors(0)
ans =
     0

一変数多項式の約数

一変数多項式の約数を求めます。

次の一変数多項式の約数を求めます。多項式をシンボリック式として指定することができます。

syms x
divisors(x^4 - 1, x)
ans =
[ 1, x - 1, x + 1, (x - 1)*(x + 1), x^2 + 1, (x^2 + 1)*(x - 1),...
(x^2 + 1)*(x + 1), (x^2 + 1)*(x - 1)*(x + 1)]

また、シンボリック関数を使用して多項式を指定することもできます。

syms f(t)
f(t) = t^5;
divisors(f,t)
ans(t) =
[ 1, t, t^2, t^3, t^4, t^5]

多項式の約数を求める際、divisors は定数係数の約数は返しません。

f(t) = 9*t^5;
divisors(f,t)
ans(t) =
[ 1, t, t^2, t^3, t^4, t^5]

多変数多項式の約数

多変数多項式の約数を求めます。

多変数多項式の約数を求めます。uv が変数、a がシンボリック パラメーターであるとします。変数をシンボリック ベクトルとして指定します。

syms a u v
divisors(a*u^2*v^3, [u,v])
ans =
[ 1, u, u^2, v, u*v, u^2*v, v^2, u*v^2, u^2*v^2, v^3, u*v^3, u^2*v^3]

ここで、この式には 1 つの変数 (たとえば v) のみが含まれており、au はシンボリック パラメーターであるとします。ここで、divisors は式 a*u^2 を定数として扱い、これを無視して v^3 の約数のみを返します。

divisors(a*u^2*v^3, v)
ans =
[ 1, v, v^2, v^3]

入力引数

すべて折りたたむ

約数を求める数値。数値またはシンボリック数として指定します。

約数を求める多項式。シンボリック式またはシンボリック関数として指定します。

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

ヒント

  • divisors(0)0 を返します。

  • 多項式の約数を求める際、divisors(expr,vars) は定数係数の約数は返しません。

  • 多項式変数を指定しない場合、divisors は定数シンボリック式の約数を含む、見つかる限りの約数を返します。たとえば、divisors(sym(pi)^2*x^2)[ 1, pi, pi^2, x, pi*x, pi^2*x, x^2, pi*x^2, pi^2*x^2] を返し、divisors(sym(pi)^2*x^2, x)[ 1, x, x^2] を返します。

  • 有理数に対しては、divisors は分子のすべての約数を分母のすべての約数で除算したものを返します。たとえば、divisors(sym(9/8))[ 1, 3, 9, 1/2, 3/2, 9/2, 1/4, 3/4, 9/4, 1/8, 3/8, 9/8] を返します。

バージョン履歴

R2014b で導入

参考

| |