Use pdist() and vertcat() using for loop

1 vue (au cours des 30 derniers jours)
Kong
Kong le 4 Mar 2020
Commenté : Kong le 4 Mar 2020
Hey. Gays!
I wanna calculate pairwise euclidean distance and stack this Concatenate arrays vertically.
X = rand(7,7);
n = size(X,2);
for i=1:n
C = vertcat(pdist(X(:,i)));
end
I want to get the result (7 x 21) which was stacked.
However, I just got (1 x 21) matrix.
Does anyone have idea to fix this for loop code?

Réponse acceptée

Matt J
Matt J le 4 Mar 2020
X = rand(7,7);
n = size(X,2);
C=cell(n,1);
for i=1:n
C{i}=pdist(X(:,i));
end
C=cell2mat(C);
  1 commentaire
Kong
Kong le 4 Mar 2020
It's perfect solution! Thanks.

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by