如何将小数舍入到特定的精度

时间:2017-01-19 10:15:52

标签: matlab

所以给我一个矢量f_1sided:

f_2sided = linspace(-5e11,5e11,958576); 
f_1sided = f_2sided(end/2+1:end);

我想找到f_1sided == 11.07e9条目的索引。

问题:f_1sided有很多条目,大约是1.107e10,但不准确。我想找到最准确的一个。例如,条目106110是110695042119,813。下一个条目是110696085335,002。

我正在考虑一种方法来整理f_1sided的条目。但是当我绕过我提到的两个条目时,我不希望它们都是11.07e9,而只是更精确的那个......

1 个答案:

答案 0 :(得分:2)

所以你正在寻找最接近给定条目的条目:

desired = 11.07e9;
distances_to_desired = (f_1sided - desired).^2;
[~, closest_index] = min(distances_to_desired);

此处,当然,desired是您要查找的f_1sided中的数字,distances_to_desired包含f_1sided其(平方)距离中的每个值desiredclosest_indexf_1sided的索引,距离最小。