我创建了一个我很满意的位置矩阵,对于这个矩阵的每个位置(或元素),我想计算矩阵中所有其他位置之间的位置距离。这样我可以获得每个其他元素来自另一个元素的方向。我试图通过以下方式做到这一点:
pos = [X(:),Y(:),Z(:)];
for j = 1:length(pos)
for i = 1:length(pos)
vecdir(i,:,:) = pos(i,:,:) - pos(j,:,:);
end
v(i) = {vecdir};
i = i+1;
end
其中每个单元格保存位置矩阵中每个位置的位置距离。v(i) 似乎只存储最后一次计算(即除了最后一个单元格之外所有单元格都是空的,该单元格保存了位置矩阵上最后一个位置的正确信息。)。我在哪里错了?另外,如果有更有效的方法来做到这一点,那么我想知道,因为我知道存储和访问单元阵列会大大降低程序的速度。