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