Иллюстрированный самоучитель по Mathematica
Вычисление произведений
Вычисление произведений в аналитическом виде
Операции
вычисления произведений
Произведение
от 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},...] — вычисляет многократное произведение (произведение
по нескольким переменным).
Примеры использования
функций вычисления произведения.
|
|
|
|
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 оправдано высокой скоростью производимых ею вычислений. Однако,
как показывают приведенные примеры, к такому применению надо относиться с осторожностью
из-за возможности возникновения больших вычислительных погрешностей.
|