【发布时间】:2019-11-28 11:38:21
【问题描述】:
我有一个包含 3 个矩阵的元胞数组(数据),每个矩阵分别有 18 列和 108021、108022 和 108021 行。我需要为每个矩阵计算第 13、14 列和第 15、16 列之间的欧几里得距离,我使用以下代码:
for m = 1:length(data)
for i = 1:length(data{m})
distance(i) = norm(data{m}(i,13:14)-data{m}(i,15:16));
end
end
除了添加额外元素的最后一个矩阵(当 m=3 时)外,它都有效。所以现在距离是一个具有 3 个大小为 108021、108022 和 108022 的向量的元胞数组...
有人知道这里有什么问题吗?
谢谢!
奥赛罗
【问题讨论】:
-
你不想要像
distance{m}(i) = norm(...这样的东西。现在向量distance被每次外部循环迭代覆盖,并且由于中间循环使向量 108022 个元素,它将在最后一次迭代中保持最后一个元素不变,即当m=3时。 -
谢谢!这实际上是问题所在。但是,我不能直接将“距离”作为一个元胞数组,因为我将“movmean”应用于每个距离向量,并且它需要一个数字输入...