【问题标题】:find the numerical integration of points in c#在c#中找到点的数值积分
【发布时间】:2015-08-26 17:30:40
【问题描述】:

我在 c# 中有一些点(不是确定的函数),我需要对它们进行数值积分(更喜欢 e 梯形)。是否有任何库或函数可以做到这一点? 我看到了 Math.Net 的 OnClosedInterval 但它需要明确的功能。 (注意:可以在点之间创建插值作为函数并将其提供给 OnClosedInterval,但我需要知道是否有任何库可以在数值上直接整数。)

【问题讨论】:

  • 要求我们推荐或查找书籍、工具、软件库、教程或其他场外资源的问题不属于 Stack Overflow 的主题

标签: c# point numerical integrate


【解决方案1】:

这样的? 您在 x/y 曲线上采样了点,并希望使用第一个点和最后一个点之间的梯形规则计算曲线下的积分。

//assuming Point has x and y component, and array is sorted according to x
Point[] points = ...;

float integral = 0;
for(int i = 1; i<points.length; i++)
    integral += (points[i].y + points[i-1].y) / 2 * (points[i].x - points[i-1].x);

当然你也可以在你的点之间写一个线性插值函数,然后给它 Math.Net 来整合它。但这将是非常低效的,因为它会盲目地对您的函数进行采样并尝试找到有意义的样本点,而这些样本点只不过是您的起点。因此,通过自己进行这个(非常简单的)集成,您可以轻松地从有关线性插值函数的知识中受益。

【讨论】:

    猜你喜欢
    • 2011-11-29
    • 2021-12-25
    • 2021-01-27
    • 2011-09-12
    • 1970-01-01
    • 1970-01-01
    • 2016-07-12
    • 1970-01-01
    • 2022-10-05
    相关资源
    最近更新 更多