Иллюстрированный самоучитель по Mathematica 3/4

Вычисление сумм в численном виде

Для вычисления сумм в численном виде используются следующие функции:

  • NSum[f, {i, imin, imax }]– возвращает численное значение суммы f [ i ] при i, изменяющемся от imin до imax с шагом +1;
  • NSumff, {i, imin, imax, di }]– возвращает сумму численных значений функции f [i] при i, изменяющемся от imin до imax с шагом di;
  • NSum[f, {i, imin, imax}, {j, jmin, j max },…]– выполняет многомерное суммирование. Функция NSum[… ] эквивалентна выражению N[Sum[…] ].

Особенностью этой функции является возможность использования ряда опций, управляющих вычислительным процессом. Одной из них является NSumTerms, задающая число членов, которые явно должны быть включены в сумму перед экстраполяцией. Вы можете просмотреть список опций, используя команду Options [NSum].

Пример применения функции NSum представлен ниже:

NSum[1 / i3, {i, 1, бесконечность}]
1.20206

Пример точного вычисления суммы (для сравнения) с помощью функции Sum:

truesum = Sum[1 + k / 2k k / 3k {k, 1, 50}]
1818632874295681087853745424762603034467 / 808281277464764060643139600456536293376 
N[%
2.25

Пример вычисления той же суммы с помощью функции NSum с опциями:

NSum[1 + k / 2 k - 3k, {k, 1, 50}, Method > SequenceLimit, NSumTerms > 2, NSumExtraTerms > 4] - truesum
0.0530365

При следующем наборе опций результат еще лучше:

NSum[1 + k / 2 k - 3k, {k, 1, 50}, Method > SequenceLimit, WorkingPrecision > 30, NSumTerms > 2, NSumExtraTerms > 10, WynnDegree > 4] - truesum
0. * 10 - 26

Функция вычисления суммы NSum выполняется заметно быстрее, чем функция Sum, хотя на практике заметить это трудно – все приведенные выше примеры выполняются за доли секунды. Возвращаемый функцией NSum результат вещественный.

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.