how to save the outputs obtained by a for loop repeated n times

1 visualización (últimos 30 días)
i built a for loop that works N times and in each loop produces as an output a matrix (6x3), i need to save every output in a matrix by column (6xN*3).
In my example the for loop is shown below and "tot" give to me only the last result of the loop.
PS. Just to let you knok "Tin" is a table that contains some data
function [Tout ] =Trasporta(Tin)
for group = 1:4:size(Tin,2)
[ordine(:,group), idx(:,group)] = sortrows(Tin{:,group});
end
% my question is about the for below
tot = nan(6,18); %N=6 N*3=18 the number of rows is 6, and the loop is repeated for 6 times
for i = 1:4:size(idx,2)
tot = (Tin{idx(:,i),i+1:i+3});
end
end

Respuesta aceptada

per isakson
per isakson el 5 de Abr. de 2021
Editada: per isakson el 5 de Abr. de 2021
tot is overwritten in each iteration of the for-loop
Replace
tot = (Tin{idx(:,i),i+1:i+3});
by
tot(:,i) = (Tin{idx(:,i),i+1:i+3});
  3 comentarios
per isakson
per isakson el 5 de Abr. de 2021
Editada: per isakson el 5 de Abr. de 2021
Since I don't know your data I couldn't test. The indexing of tot was obviously wrong. Try
tot(:,i:i+2) = (Tin{idx(:,i),i+1:i+3});

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Loops and Conditional Statements en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by