3. Вычисление произведений

 

Вычисление произведений

 

Вычисление произведений в аналитическом виде

Операции вычисления произведений

Произведение от 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 оправдано высокой скоростью производимых ею вычислений. Однако, как показывают приведенные примеры, к такому применению надо относиться с осторожностью из-за возможности возникновения больших вычислительных погрешностей.