how to save output of for loop
    9 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
    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.
0 comentarios
Respuesta aceptada
  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
Más respuestas (2)
  Jan
      
      
 el 28 de Feb. de 2017
        This works without a loop also:
S = squeeze(mean(reshape(Ri, size(A, 1), 5, 20), 2));
1 comentario
  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?
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!