Компьютерная алгебра в программе Mathematica 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.x10-26

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












Содержание раздела