gpt4 book ai didi

matlab - Matlab 中浮点比较的最佳实践是什么?

转载 作者:太空宇宙 更新时间:2023-11-03 19:10:38 24 4
gpt4 key购买 nike

显然, float 比较总是很棘手。我的(科学)代码中有很多断言检查,所以我经常必须检查总和是否等于一个,以及类似的问题。

是否有执行这些检查的快速简便/最佳实践方法?

我能想到的最简单的方法是为固定公差 float 比较构建一个自定义函数,但这对我来说似乎很丑陋。我更喜欢内置解决方案,或者至少是非常清晰易懂的解决方案。

最佳答案

我认为这很可能必须是您自己编写的函数。可以说,我经常使用三样东西来运行计算向量测试:

最大绝对误差

return max(abs(result(:) - expected(:))) < tolerance

这会逐点计算最大绝对误差,并告诉您它是否小于某个公差。

最大过多错误计数

return sum( (abs(result(:) - expected(:))) < tolerance )

这会返回超出容差范围的点数。修改为返回百分比也很容易。

均方根误差

return norm(result(:) - expected(:)) < rmsTolerance

由于存在这些和许多其他标准来比较 float 数组,我建议编写一个函数来接受计算结果、预期结果、公差和比较方法。通过这种方式,您可以使您的检查非常紧凑,并且比试图在评论中解释您正在做的事情要简单得多。

关于matlab - Matlab 中浮点比较的最佳实践是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23824577/

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