我有一个m x n矩阵' A'使用m x 1对应于A的权重向量。我使用了'&unique;'找到独特的矩阵并找到IA和IC。如何以比使用两个for循环更快的方式总结A中相等行的权重?到目前为止,我有
[Dis_Good_path,IA,IC]=unique(Good_path,'rows','stable');
for i=1:length(IA) % Summing up the weights corresponding to equal paths
Dis_R2(i)=0;
for j=1:length(IC)
if IA(i)==IC(j)
Dis_R2(i)= Dis_R2(i)+R2(j);
end
end
end
答案 0 :(得分:0)
少一个循环的答案看起来像这样:)
[Dis_Good_path,ia,ic]=unique(Good_path,'rows','stable');
Dis_R2 = R2(ia);
rIA = setxor(ia,1:size(Good_path,1));
rIC = ic(rIA);
for i = 1:numel(rIC)
Dis_R2(rIC(i)) = Dis_R2(rIC(i)) + R2(rIA(i));
end