Warning: include(/var/www/iill7773/data/www/wiselab.ru/wp-content/plugins/wp-super-cache/wp-cache-base.php): failed to open stream: No such file or directory in /home/u7426dd0/domains/wiselab.ru/public_html/wp-content/plugins/wp-super-cache/wp-cache.php on line 65

Warning: include(): Failed opening '/var/www/iill7773/data/www/wiselab.ru/wp-content/plugins/wp-super-cache/wp-cache-base.php' for inclusion (include_path='.:/opt/alt/php55/usr/share/pear:/opt/alt/php55/usr/share/php') in /home/u7426dd0/domains/wiselab.ru/public_html/wp-content/plugins/wp-super-cache/wp-cache.php on line 65

Warning: include_once(/var/www/iill7773/data/www/wiselab.ru/wp-content/plugins/wp-super-cache/ossdl-cdn.php): failed to open stream: No such file or directory in /home/u7426dd0/domains/wiselab.ru/public_html/wp-content/plugins/wp-super-cache/wp-cache.php on line 82

Warning: include_once(): Failed opening '/var/www/iill7773/data/www/wiselab.ru/wp-content/plugins/wp-super-cache/ossdl-cdn.php' for inclusion (include_path='.:/opt/alt/php55/usr/share/pear:/opt/alt/php55/usr/share/php') in /home/u7426dd0/domains/wiselab.ru/public_html/wp-content/plugins/wp-super-cache/wp-cache.php on line 82
Вычисление сумм в численном виде | Учебники

Главная > Mathematica 8 > Вычисление сумм в численном виде


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

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

  • 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 результат вещественный.
 
Вычисление произведений
 
Вычисление произведений в аналитическом виде
Операции вычисления произведений
Произведение от i=imin до i=imax по fi представлены следующими функциями:

  • Product [f, {i, imax}] — возвращает произведения значений f [i] для значений i, изменяющихся от 1 до imax;
  • Product [f, {i, imin, imax}]—возвращает произведение значений f [ i ] при изменении i от imin до imax с шагом +1;
  • Product[f, {i, imin, imax, di}] — возвращает произведение f [ i ] при i, меняющемся от значения imin до значения imax с шагом di;
  • Product [f, {i, imin, imax}, {j, jmin, jmax},…] — вычисляет многократное произведение (произведение по нескольким переменным).

Примеры использования функций вычисления произведения.

Ввод (In)

Вывод (Out)

Product [i,{i ,10}]

3628800

NProduct [k ^ 2,{k, 1,5}]

14400.

NProduct[i ^ 2, {1,1,2,0. 2}]

93.6405

Product [Logfi], {±,2,5,0.5}]

4.23201 Log[2]

Следующий пример иллюстрирует вычисление произведения в символьном виде:
Произведение (x+i2) , где i=1…5
(1+х) (4 + х) (9 + х) (16 + х) (25 + х)
Об опасности перестановки сомножителей свидетельствуют следующие примеры: Product [i, i,l, 10] 3628800
Product [i,i, 10,1]
1
Product[i,i,10,l,-l]
3628800
Как и в случае вычисления суммы, средний пример явно ошибочен. Он просто недопустим с точки зрения синтаксиса данной функции.
Вычисление произведений в численном виде
Для вычисления численных значений произведения используются следующие функции:

  • NProduct [f , {i, imax }]— возвращает численное значение произведения значений f [i] для значений i, изменяющихся от 1 до imax;
  • NProduct [f, {i, imin, imax}] — возвращает численное значение произведения значений f [i] при изменении i от imin до imax с шагом +1;
  • NProduct [f, {i, imin, imax, di }]— возвращает численное значение произведения значений f [i] при i, меняющемся от значения imin до значения imax с шагом di;
  • NProduct[f, {i, imin, imax}, {j, jmin, j max },…]— вычисляет численное значение многократного произведения (произведение по нескольким переменным).

Эти функции применяются с теми же опциями, которые используются для функции Nsum, что позволяет управлять вычислительным процессом. Ознакомиться с опциями можно, выполнив команду Options [NProduct] . Ниже представлен пример на использование функции Nproduct. Сначала вычисляем точное значение произведения для использования в качестве эталона:
trueproduct = Product [ j/(1+j), { j , 1 , 50 } ]
1/ 51
Пример вычисления того же произведения с помощью функции NProduct — погрешность велика:
NProduct [ j/(1+j) , {j, I, 50},
Method -> SequenceLimit, NProductFactors -> 2 ,
NProductExtraFactors -> 4] — trueproduct
0.188235
В следующем примере опции подобраны лучше — погрешность мала:
NProduct[j/(1+j) , {j, 1, 50},
Method-» SequenceLimit, NProductFactors -> 50,
NProductExtraFactors ->4] — trueproduct
-1.38778 x 10-17

Применение функции NProduct оправдано высокой скоростью производимых ею вычислений. Однако, как показывают приведенные примеры, к такому применению надо относиться с осторожностью из-за возможности возникновения больших вычислительных погрешностей.

Статьи по теме

Комментарии запрещены.