问题:
我有两个分开的值列表,X = {x1,x2 .... x2059}和Y = {Y1,Y2 .... Y2059}。使用Mathematica函数“Transpose”,我可以获得一个新列表Z = {{x1,y1},{x2,y2},... {x2059,y2059}}。使用ListLinePlot [Z]我制作了情节。 现在,问题是:我如何计算绘制曲线下的面积。我不能使用NIntegrate或Integrate。我可以使用插值函数吗?怎么样? 即使使用梯形规则(由我实施),我也没有得到很好的结果。
数据来自载荷变形图。这意味着对于数据的前半部分,曲线增长。从数据的第二部分开始,曲线回到零(接近零)。特别是,X =变形,Y =负荷。
答案 0 :(得分:3)
(*create a simulation for your points*)
npts = 2058;
x = Sort@RandomReal[100, npts];
y = Join[Sort@RandomReal[100, npts/2], Reverse@Sort@RandomReal[100, npts/2]];
f = Interpolation[Transpose@{x, y}, InterpolationOrder -> 1];
(*Plot and Integrate*)
Plot[f[t], {t, Min@x, Max@x}, Filling -> Axis]
NIntegrate[f[t], {t, Min@x, Max@x}, Method -> "LocalAdaptive"]
答案:
(* 5006.01 *)