Use pdist() and vertcat() using for loop

5 views (last 30 days)
Kong
Kong on 4 Mar 2020
Commented: Kong on 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?

Accepted Answer

Matt J
Matt J on 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);

More Answers (0)

Categories

Find more on Statistics and Machine Learning Toolbox in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!