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