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)

Risposte (1)

Wayne King
Wayne King il 21 Apr 2016
Modificato: Wayne King il 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 Commenti

muhammad ismat
muhammad ismat il 22 Apr 2016
Modificato: muhammad ismat il 22 Apr 2016
[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

Accedi per commentare.

Categorie

Richiesto:

il 21 Apr 2016

Commentato:

il 22 Apr 2016

Community Treasure Hunt

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

Start Hunting!

Translated by