matlab - 检查减法取消(浮点精度)
问题描述
在阅读数值方法时,减法取消通常是一个主题。
取消的简单示例:
a = 1;
b = 1e-16;
a-(a+b) = 0
因此我们丢失了 b 的所有信息。
但是,我很少阅读有关如何检查此问题的信息。难道我们不能使用一个简单的函数来减去数字,这也警告我们有问题吗?例子:
function c = subtract(a,b)
c = a-b;
if abs(c) < 1e-14*a
disp('Warning: Low precision on subtraction');
end
end
这个简单的功能可能存在一些缺陷——这只是我的第一个想法。无论如何,这样的事情会起作用吗?为什么没有完成?(即我以前从未见过/听说过此类检查)。
解决方案
推荐阅读
- reactjs - Jest 快照测试在 CI 快照中的 React HOC 中添加了一个“_class”字,但在我的机器上没有
- javascript - 角度 6 中带有第 n 个子项的层次结构下拉列表。我想选择父复选框需要隐藏所有子复选框
- java - 在 Java Spring 中添加下载进度 RestTemplate
- python - 加入两条路径的最佳方式?
- python - 如何仅在 Python 中提取字符串的完整单词?
- c++ - 错误的模板函数推导
- javascript - 表单值有效检查在 aspx 中不起作用
- c# - 如何从基类引用派生类型?
- arrays - React 对具有两个字段的地图函数进行排序
- api - Jmeter数组响应,求和提取Part2