【问题标题】:Area under a curve in MathematicaMathematica 中曲线下的面积
【发布时间】:2012-11-28 14:17:09
【问题描述】:

问题:

我有两个单独的值列表,X={x1,x2....x2059} 和 Y={Y1,Y2....Y2059}。使用 Mathematica 函数“转置”我可以获得一个新列表 Z = {{x1,y1},{x2,y2},...{x2059,y2059}}。使用 ListLinePlot[Z] 我制作了情节。 现在,问题是:我如何计算绘制曲线下的面积。我不能使用 NIntegrate 或 Integrate。我可以使用插值功能吗?如何? 即使使用梯形规则(由我实施)我也没有获得好的结果。

数据来自载荷变形图。这意味着对于前半部分数据,曲线增长。从数据的第二部分,曲线回到零(接近零)。特别是,X = 变形,Y = 载荷。

【问题讨论】:

    标签: wolfram-mathematica area


    【解决方案1】:
    (*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 *)
    

    【讨论】:

    • 感谢您的回答。我尝试使用您的代码,但我的数据不起作用。我问这个问题只是因为我实现了一个类似的代码总是没有解决方案。问题出在插值函数中。
    • 感谢您的回答。我尝试使用您的代码,但我的数据不起作用。我问这个问题只是因为我实现了一个类似的代码总是没有解决方案。问题在于插值函数。我还想问另一个问题。而不是曲线下的总面积,我如何获得这样的列表:A = {area1,area2,area3..},其中每个 area(i) 是曲线单个元素的面积(例如,如果我的x 是 2059 个元素,我可以取 area1 = area(x3-x1),area1 = area(x3-x2)...“像梯形规则”谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-06-24
    • 1970-01-01
    • 2020-03-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多