sum

Определенное и неопределенное суммирование

Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.

Live скрипты MATLAB поддерживают большую часть функциональности MuPAD, хотя существуют некоторые различия. Для получения дополнительной информации смотрите, Преобразуют Notebook MuPAD в Live скрипты MATLAB.

Для sum функция в MATLAB®, смотрите sum.

Синтаксис

sum(f, i)
sum(f, i = a .. b)
sum(f, i = RootOf(p, x))

Описание

sum(f, i) вычисляет символьное антиразличие f (i) относительно i.

sum(f, i = a..b) попытки найти закрытое представление формы суммы.

sum подачи для упрощения символьных сумм (дискретный аналог интегрирования). Это не должно использоваться в том, что оно просто добавило конечное число условий: если a и b целые числа типа DOM_INT, вызов _plus(f $ i = a..b) дает желаемый результат, в то время как sum(f, i = a..b) может возвратиться неоцененный. expand может использоваться, чтобы суммировать такую неоцененную конечную сумму. Смотрите Пример 3.

sum(f, i) вычисляет неопределенную сумму f относительно i. Это - выражение g таким образом, что f (i) = g (i + 1) - g (i).

Это неявно принято тот i пробегает целые числа только.

sum(f, i = a..b) вычисляет определенную сумму с i выполнение от a к b.

Если a и b числа, затем они должны быть целыми числами.

Если b - a неотрицательное целое число, затем явная сумма f (a) + f (a + 1) + … +, f (b) возвращен, при условии, что эта сумма имеет не больше, чем 1 000 условий.

sum(f, i = RootOf(p, x)) вычисляет сумму с i расширение по всем корням полиномиального p относительно x.

Если f рациональная функция i, закрытая форма суммы будет найдена.

Смотрите пример 2.

Система отвечает на символьный звонок sum если это не может вычислить закрытое представление формы суммы.

Бог символьные суммы без символьных параметров может быть оценен численно через float или numeric::sum. См. пример 4.

Примеры

Пример 1

Мы вычисляем некоторые неопределенные суммы:

sum(1/(i^2 - 1), i)

sum(1/i/(i + 2)^2, i)

sum(binomial(n + i, i), i)

Мы вычисляем некоторые определенные суммы. Обратите внимание на то, что допустимые контуры:

sum(1/(i^2 + 21*i), i = 1..infinity)

sum(1/i, i = a .. a + 3)

expand(%)

Пример 2

Мы вычисляем некоторые суммы по всем корням полинома:

sum(i^2, i = RootOf(x^3 + a*x^2 + b*x + c, x))

sum(1/(z + i), i = RootOf(x^4 - y*x + 1, x))

Пример 3

sum может вычислить конечные суммы, если неопределенное суммирование успешно выполняется:

sum(1/(i^2 + i), i = 1..100)

_plus дает к тому же результату более быстро, если количество слагаемых мало:

_plus(1/(i^2 + i) $ i = 1..100)

В таких случаях, sum намного более эффективно, чем _plus если количество слагаемых является большим:

sum(1/(i^2 + i), i = 1..10^30)

Конечные суммы, для которых никакое неопределенное суммирование не возможно, расширены, если у них есть не больше, чем 1 000 условий:

sum(binomial(n, i), i = 0..4)

Приложение expand необходимо, чтобы расширить биномы:

expand(%)

Конечные суммы больше чем с 1 000 условий не расширены:

sum(binomial(n, i), i = 0..1000)

Вы можете использовать expand здесь расширить сумму и получить огромное выражение. Если вы действительно хотите сделать это, мы рекомендуем использовать _plus непосредственно.

Однако, если один из контуров является символьным, то _plus не может использоваться:

_plus(1/(i^2 + i) $ i = 1..n)

_plus(binomial(n, i) $ i = 0..n)

sum(1/(i^2 + i), i = 1..n), sum(binomial(n, i), i = 0..n)

Пример 4

Следующая бесконечная сумма не может быть вычислена символически:

sum(ln(i)/i^5, i = 1..infinity)

Мы получаем приближение с плавающей точкой через float:

float(%)

В качестве альтернативы функциональный numeric::sum может использоваться непосредственно. Это обычно намного быстрее, чем применение float, поскольку это избегает издержек sum попытка вычислить символьное представление:

numeric::sum(ln(i)/i^5, i = 1..infinity)

Параметры

f

Арифметическое выражение в зависимости от i

i

Индекс суммирования: идентификатор или индексированный идентификатор

aB

Контуры: арифметические выражения

p

Полином типа DOM_POLY или многочленное выражение

x

Неопределенный из p

Возвращаемые значения

арифметическое выражение.

Алгоритмы

Функциональный sum алгоритм Абрамова реализаций для рациональных выражений, алгоритм Госпера для гипергеометрических выражений и алгоритм Цайльбергера для определенного суммирования голономных выражений.