在给定两个数据列表的mathematica中进行数值积分

时间:2011-12-15 21:58:49

标签: wolfram-mathematica

在Mathematica中是否存在用于进行数值积分的内置例程,给出了两个数据列表{x1, x2, ..., xn}{y1, y2, ..., yn}

我想做一些像梯形整合或其他的东西。似乎NIntegrate不能做到这一点。当然我可以自己写。试想可能有太多的数值集成方案试试,特别是当我渴望得到它时。

1 个答案:

答案 0 :(得分:11)

可能不是你的想法,但你可以设置一个插值函数:

dat = {#, Sin[#]} & /@ Range[0, 2*Pi, .1];

创建一个数据点列表(以{x,y})的形式。

fun = Interpolation[dat];

创建插值函数(尝试绘制Plot[fun[x],{x,0,2*Pi}]以查看它是什么)。然后,您可以使用NIntegrate

NIntegrate[fun[x]^2, {x, 0, 2*Pi}]

但是,如果你真的想用matlab方式做到这一点也是可能的。