我使用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