Storing output from each FOR LOOP ititeration in MATLAB
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
Hello,
Say I have 3 matrix data files in a folder..
I have a function (clustering_coef_bu) which calculates the clustering coefficient of a 2D matrix (data; has the dimensions 512x512) file. The output vector of the function creates a 512x1 Matrix (Clustering Coefficient), in double format.
With the for loop below, for each matrix (data) I'm calculating the clustering coefficient. However, I am having difficulting being able to store the output clustering coefficient for each run of the for loop. It would be ideal to output the clustering coefficient of each matrix into one singular structure. I.e a cell array, which has the dimensions 512x3.
for k = 1:3
ClusteringCoefficient=clustering_coef_bu(data)
end
Anyhelp would be great. Thanks
0 comentarios
Respuesta aceptada
Jan
el 7 de Ag. de 2013
Editada: Jan
el 7 de Ag. de 2013
Or:
ClusteringCoefficient = zeros(512, 3);
my_data = cat(3, data1, data2, data3);
for k = 1:3
ClusteringCoefficient(:, k) = clustering_coef_bu(my_data(:,:,k));
end
3 comentarios
Jan
el 7 de Ag. de 2013
Yes, of course, this should work. You can simply try it to test if it works.
Más respuestas (1)
David Sanchez
el 7 de Ag. de 2013
ClusteringCoefficient = cell(3,1); % initialize empty cell array
my_data = zeros(512,512,3); % initialize empty matrix to hold your data
my_data(:,:,1) = data1;
my_data(:,:,2) = data2;
my_data(:,:,3) = data3; % your 3 matrices put together in a 3D matrix, you can adapt this last 4 lines to your data
for k = 1:3
ClusteringCoefficient{k} = clustering_coef_bu( my_data(:,:,k) );
end
0 comentarios
Ver también
Categorías
Más información sobre Loops and Conditional Statements en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!