Иллюстрированный самоучитель по Mathematica

         

Табличное численное интегрирование — Listlntegrate


Встроенная в ядро функция NIntegrate вычисляет определенные интегралы при известной подынтегральной функции. Однако нередко, например при экспериментах, такая функция задается таблицей или списком значений. В подпакете List-Integrate имеются функции для решения этой задачи — табличного интегрирования:

  • Listlntegrate [ {yl, y2,..., yn} ,h] — возвращает численное значение интеграла для функции, заданной списком ординат yi при заданном шаге h по х;
  • Listlntegrate [ {yl, y2,..., yn}, h, k] — возвращает численное значение интеграла для функции, заданной списком ординат yi при заданном шаге h по х, используя k точек каждого подинтервала;
  • Listlntegrate [ {{xl, yl}, {х2, у2 },..., {хп, уп}}, k] — возвращает численное значение интеграла для функции, заданной списком координат {х.., у.}. используя k точек для каждого подынтервала.

Примеры применения данной функции:

<<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 [ f, х, хО] — вычисляет первую производную f(x) в точке х0;
  • ND[f, {x,n} ,х0] — вычисляет п-ю производную f(X) в точке х0. Пример вычисления производной:

ND[Exp[Sin[x]], х, 2]

-1.03312

Options[ND]

{WorkingPrecision-> 16, Scale-> 1, Terms-> 7, Method-> EulerSum]

В некоторых случаях вычисления могут быть ошибочными. Тогда следует использовать опции — особенно опцию выбора метода Method. Помимо метода по умолчанию (EulerSum) можно использовать NIntegrate (метод интегрирования по формуле Коши).



Содержание раздела