Встроенная в ядро функция NIntegrate вычисляет определенные интегралы при известной подынтегральной функции. Однако нередко, например при экспериментах, такая функция задается таблицей или списком значений. В подпакете List-Integrate имеются функции для решения этой задачи — табличного интегрирования:
Примеры применения данной функции:
<<NumericalMath`Listlntegrate`
data = Tablet n^2, {n, 0, 7}]
{0, 1, 4, 9, 16, 25, 36, 49}
ListIntegrate[data, 1]
343/3
Listlntegrate[{{0,0},{1,1},{2,4},{5,25},{7,49}},2] 241/2
При проведении интегрирования для данных, заданных таблично, можно использовать интерполяцию:
арр = Listlnterpolation[data,{{0,7}}] Integrate[app[x],{x,0,7}]
343/3
Integrate[Interpolation[{{0,0},{1,1},{2,4}, {5,25}, {7,49}},
InterpolationOrder->l][x],{x,0,7}]
241/2
Численное вычисление пределов — NLimit
В подпакете N limit определена функция
Nlimit[expr,х->х0]
для численного вычисления пределов выражений ехрг (см. примеры ниже):
<<NumericalMath` NLimit`
NLimit[Zeta[s] - l/(s-l), s->l]
0.577216
N[EulerGamma]
0.577216
С помощью команды Options [NLimit] можно просмотреть опции, которые используются функцией NLimit по умолчанию. В этом подпакете задано также вычисление бесконечных сумм Эйлера EulerSum[f, { i, imin, Infinity} ]. Например:
EulerSum[(-l)^k/(2k + 1) , {k, 0, Infinity}]
0.785398
EulerSumt(-1)^k/(2k +1), {k, 0, Infinity},
WorkingPrecision->40, Terms->30, ExtraTerms->30]
0.78539816339744830961566084579130322540
%- N[Pi/4, 40]
-2.857249565x 10-29
Имеется также функция вычисления производной в численном виде:
ND[Exp[Sin[x]], х, 2]
-1.03312
Options[ND]
{WorkingPrecision-> 16, Scale-> 1, Terms-> 7, Method-> EulerSum]
В некоторых случаях вычисления могут быть ошибочными. Тогда следует использовать опции — особенно опцию выбора метода Method. Помимо метода по умолчанию (EulerSum) можно использовать NIntegrate (метод интегрирования по формуле Коши).