我有一个用数字填充的列向量pp
,例如:
23.234000
3.1237340
4.4359000
我想找到向量中最小的非零数字所占的小数点右边的位数,在这种情况下为6
,因为4
位于{{ 1}}。然后我想将向量中的每个数乘以10 ^ 6,以除去向量中的所有小数。我想这样做是为了消除舍入错误。完成这项工作的最佳方法是什么?
答案 0 :(得分:2)
实际值可能与MATLAB实际显示的内容不同。例如,请考虑以下示例:
>> x = 1.4 - [0.1; 0.09999999]
x =
1.3000
1.3000
MATLAB将两个值都显示为1.3,但事实上,它们都不是:
>> x - 1.3
ans =
-2.2204e-16
1.0000e-08
因此,我的建议是确定一个固定的准确度(例如,6位数),然后乘以相应的10的幂。