Matlab在添加矩阵时更改数组值错误
问题描述:
在MATLAB(R2016a)中,使用vertcat附加一个数组(或使用常规附加[A; B]
)会产生矩阵,其中的矩阵已按比例缩小为0.0001,而不是1。10000个修复乘以那些矩阵的问题,但我想知道为什么0.0001是附加的,而不是1。这里是代码:Matlab在添加矩阵时更改数组值错误
temp = ones([1,307200]); new_coords = vertcat(world_coords, temp); new_coords
导致列像下面正在输出:
0.4449 0.3673 1.8984 0.0001
world_coords
的类型是双重的,所以我不认为类型转换是问题。
答
正如我在评论中提到的那样,由于world_coords
中值的范围,输出被缩放。您应该在输出的第一行看到一个比例因子1.0e+4
。
您可以更改输出格式,例如有:
format long
有关详细信息,请参阅:format
什么是world_coords的范围(最小值,最大值)?你确定输出前没有10^4吗? – Irreducible
谢谢,那正是问题所在。问题是矩阵有307200行,所以10^4被输出的其余部分吞噬。愚蠢的问题。如果您愿意,我可以将您的答案标记为正确。再次感谢。 – mgrenander
很高兴我能帮到你 – Irreducible