我使用meshgrid在被稱爲一個循環和代碼的具體路線如下我的MATLAB的功能之一(對不起,我不能粘貼在這裏完整的代碼)MATLAB meshgrid錯誤
rect
[m,n] = meshgrid(rect(1):rect(3),rect(2):rect(4));
size(m)
現在我打印矩形和大小(米)與網格代碼一起顯示爲ans輸出。我發佈的最後兩個迭代下面
1)第一個給大小(米)爲46x48是一個正確的維度,並沒有拋出一個錯誤在我以後的矩陣加法。
2)顯示大小(m)爲46x47的第二個是錯誤的維度,儘管rect值表示否則。
rect =
119.9290 69.3807 166.9290 114.3807
ans =
46 48
rect =
120.0508 69.5380 167.0508 114.5380
ans =
46 47
Error using +
Matrix dimensions must agree.
現在我採取相同的號碼,並在命令窗口中執行一個meshgrid,結果是正確如下
>> [lm,kl] = meshgrid(120.0508:167.0508,69.5380:114.5380);
>> size(lm)
ans =
46 48
什麼也許對於這種異常的原因嗎?
使用'format long g;',然後再次顯示兩個矩形數組。你會發現它們之間有一個小的差別,這就是爲什麼你會得到不同的'meshgrid'結果。 MATLAB默認顯示最多4個小數點,所以您手動輸入最多4個小數位的數字不能完全捕獲矩形中捕獲的實際數字的整個精度。 – rayryeng