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]

Делители многомерных полиномов

Найдите делители многомерных полиномиальных выражений.

Найдите делители многомерного полиномиального выражения. Предположим, что u и v являются переменными и 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]

Теперь предположим, что это выражение содержит только одну переменную (для примера, v), в то время как a и u являются символьными параметрами. Вот, 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