how to save result of for loop

if i have the function
[label,s] = LSC(data,k,opts)
for p =1:100;
r = 3;
.
.
[label,s] = kmedo(U',k);
end
end
if the output s is a matrix n x n every time (where n is the size of data) so how to save all results(s)

Answers (1)

Wayne King
Wayne King on 21 Apr 2016
Edited: Wayne King on 21 Apr 2016
Outside the loop allocate a 3D matrix of zeros
Smat = zeros(n,n,p); % p here is the upper bound on the for loop
Then inside the loop assign
Smat(:,:,p) = s;
have your function return Smat.

3 Comments

[label,s] = LSC(data,k,opts)
n=size(data,1);
Smat = zeros(n,n,9);
for p =2:10;
r = 3;
.
.
[label,s] = kmedo(U',k);
Smat(:,:,p) = s;
end
end
i do previous code but it return one value for s(output)
because your function is returning, s, look at your function definition
[label,s] = LSC(...)
In my original answer, I stated "have your function return Smat"
what is the meaning of 77 x 77 x 10 (n x n x p) and if i want to use s (77 x 77 ) only without 10 to able to run my code of another function

Sign in to comment.

Categories

Asked:

on 21 Apr 2016

Commented:

on 22 Apr 2016

Community Treasure Hunt

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

Start Hunting!