Вычисление произведений в численном виде
Для вычисления численных значений произведения используются следующие функции:
- 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, 1, 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 * 10 - 17Применение функции NProduct оправдано высокой скоростью производимых ею вычислений. Однако, как показывают приведенные примеры, к такому применению надо относиться с осторожностью из-за возможности возникновения больших вычислительных погрешностей.
