how to save output of for loop

16 visualizaciones (últimos 30 días)
Safi ullah
Safi ullah el 28 de Feb. de 2017
Respondida: MARCO FORTI el 25 de Oct. de 2019
Hi, I have a matrix A=54×100. For some specific condition I perform an operation on each row of “A” with the help of for loop. now I need to save the output of this for loop. I tried like
S=zeros(54,100);
for i=1:54;
Ri=A(i,:);
answer=mean(reshape(Ri,5,20),1);
S(i)=answer;
end
but not succeed.

Respuesta aceptada

Alexandra Harkai
Alexandra Harkai el 28 de Feb. de 2017
The size of output S in this case will be 54*20. To specify that you want to assign answer to the whole row of S, use the same (i,:) indexing you used for A:
S=zeros(54,20);
for i=1:54;
Ri=A(i,:);
answer=mean(reshape(Ri,5,20),1);
S(i,:)=answer;
end
  2 comentarios
Safi ullah
Safi ullah el 28 de Feb. de 2017
@ Alexandra Harkai thanks,now the code work well.
Jan
Jan el 28 de Feb. de 2017
+1, correct.

Iniciar sesión para comentar.

Más respuestas (2)

Jan
Jan el 28 de Feb. de 2017
This works without a loop also:
S = squeeze(mean(reshape(Ri, size(A, 1), 5, 20), 2));

MARCO FORTI
MARCO FORTI el 25 de Oct. de 2019
Hello all,
I am doing forecasting and the algorithm works fine, nevertheless I can not save the output as I would.
In particular, the final loop is:
%final forecast
ff=zeros(horiz,1);
for i=1:horiz
xf=xb(1:end-i+1,:);
yf=yb(i:end);
betah=(xf'*xf)\(xf'*yf);
ff(i)=y(end-pbest+1:end)'*betah;
th=[th;ff(i)]; %
end
In this I only get the general output as "ans", while I would get the two vector "ff" and "th" both in sequence (as "ans" reports) and separately.
Can anyone help me?

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