Табличное численное интегрирование (Listlntegrate)
Встроенная в ядро функция NIntegrate вычисляет определенные интегралы при известной подынтегральной функции. Однако нередко, например при экспериментах, такая функция задается таблицей или списком значений. В подпакете List-Integrate имеются функции для решения этой задачи – табличного интегрирования:
- Listlntegrate [ {y1, y2,…, yn},h] – возвращает численное значение интеграла для функции, заданной списком ординат yi при заданном шаге h по х;
- Listlntegrate [ {y1, y2,…, yn}, h, k] – возвращает численное значение интеграла для функции, заданной списком ординат yi при заданном шаге h по х, используя k точек каждого подинтервала;
- Listlntegrate [ {{x1, y1}, {х2, у2 },…, {хn, уn}}, 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
При проведении интегрирования для данных, заданных таблично, можно использовать интерполяцию:
app
=
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