gpt4 book ai didi

algorithm - 如何将曲线下的面积分成相等的段

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:22:04 27 4
gpt4 key购买 nike

我正在尝试划分以表格形式给出的曲线下的面积 分成相等的面积段。我必须求解以下积分并找到一组点 x_0,x_1,...,x_k,x_N 满足以下条件

不幸的是,我真的不知道如何为表格函数执行此操作。对于解析线性或二次函数,上述结果导致求解 x_k 的二次或三次方程。我尝试迭代 x_k 的值,直到积分小于 k/N。我从第一个固定值 x_0 开始,尝试找到积分为 k/N 的 x_1,然后使用 x_1 作为新的下限并寻找具有相同属性的 x_2。
我认为存在一种更有效的方法来做到这一点,这就是为什么我决定在这里询问专家的原因。我会很感激你的想法。

最佳答案

如果不深入了解函数 f(x),就不可能获得准确的正确答案。但是,我们可以使用 f(x) 的合理近似值并使用它,因此我们的答案也是合理的近似值。

积分中使用的一种常见近似是梯形法则,我们假设函数在 x_i 的连续值之间是线性的,因此这些值之间的面积是梯形并且易于计算。因此,让我们对 f(x) 进行相同的近似。假设给定的点是 (x[i], f(x[i])) 并且我们正在寻找 x 坐标 z[i]。

算法将是(伪代码):

Sort the values (x[i], f(x[i])) by the first coordinate
if any of the neighboring x[i] are equal but the corresponding f(x[i]) are not:
raise an error
Sum the trapezoidal areas to get the total area
Find the desired area between x-coordinates
Run through the x[i] and sum individual trapezoid areas
When the summed area are greater than the desired area,
Use interpolation to find z[i] between the x[i] that give the desired area

这应该很清楚了。插值将是二次插值,这应该足够简单。

关于algorithm - 如何将曲线下的面积分成相等的段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39679821/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com