在Mathematica中是否存在用于进行数值积分的内置例程,给出了两个数据列表{x1, x2, ..., xn}
和{y1, y2, ..., yn}
?
我想做一些像梯形整合或其他的东西。似乎NIntegrate
不能做到这一点。当然我可以自己写。试想可能有太多的数值集成方案试试,特别是当我渴望得到它时。
答案 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方式做到这一点也是可能的。