gpt4 book ai didi

c - 优化浮点计算

转载 作者:太空宇宙 更新时间:2023-11-04 05:05:39 24 4
gpt4 key购买 nike

我的任务是使以下功能尽可能精确(速度不是目标)。我必须使用float中间矩形的方法。你能建议点什么吗?实际上,我认为,这都是关于最小化 float 舍入误差的。这就是我所做的:

typedef float T;

T integrate(T left, T right, long N, T (*func)(T)) {
long i = 0;
T result = 0.0;
T interval = right - left;
for(i = 0; i < N; i++) {
result += func(left + interval * (i + 0.5) / N) * interval / N;
}
return result;
}

最佳答案

有很多方法可以避免或补偿浮点舍入(MM 的建议,使用 Kahan 求和等)。然而,没有理由这样做,因为舍入误差与积分方案的误差相比绝对相形见绌;你不会得到更准确的积分,你会得到由中点规则计算的不正确结果的更准确的近似值。除非在极其特殊的情况下,否则任何此类努力都是完全浪费的。

关于c - 优化浮点计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15453204/

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