考虑以下示例:
Bathymetry = [0,4134066;
3,3817906;
6,3343666;
9,2978725;
12,2742092;
14,2584337;
16,2415355;
18,2228054;
20,2040753;
23,1761373;
26,1514085];
Depth = [0;1;2;3;5;8;10;11.6;15];
newDepth = min(Bathymetry(:,1)):0.1:max(Bathymetry(:,1));
从这里我想找到'newDepth'的哪一列对应于'Depth'。例如:
dd = find(newDepth==Depth(1))
dd =
1
显示 Depth == 0,位于 newDepth 的第一列。当我将此应用于“深度”的所有条目时
for i = 1:length(Depth);
dd(i) = find(newDepth == Depth(i));
end
我收到一个错误:
Improper assignment with rectangular empty matrix.
最初我不明白为什么,但是通过查看 newDepth 的数组,特别是在 newDepth == 11.6 的第 117 列,我注意到该值不等于 11.6 但等于 11.600000000000001,因此与 Depth(8) 不同。我怎样才能解决这个问题?为什么 MATLAB 不只是将值写为 11.6?我没有指定在任何地方包含 .000000000000001。