how to save each loop data

I have a for loop, but every iteration overwrites the variable and I have only the final data left..
where p is an array p=[1:1:20]' how can I save data from every loop saves only the last value when 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 . how do I get the other values?

Respuestas (1)

Chad Greene
Chad Greene el 11 de Jun. de 2016
Editada: Chad Greene el 11 de Jun. de 2016

2 votos

There are several ways to do this. One way is to make a counter, and increment that counter each time through the loop:
p=[1:1:20]';
k = 0; % <-start a counter
for x=.1:.1:1
k=k+1; % <-increment the counter
q(:,k)=x.*p; % <- log the result
end
Another way is very similar, but some would say better coding style:
p=[1:1:20]';
x=.1:.1:1;
for k = 1:length(x)
q(:,k) = x(k).*p;
end
Or of course if all you need is the cross product you can skip the loops altogether:
p=[1:1:20]';
x=.1:.1:1;
q = p*x;

2 comentarios

abdul asad
abdul asad el 11 de Jun. de 2016
it works... thanks for your help
Afraz MEHMOOD CHAUDHRY
Afraz MEHMOOD CHAUDHRY el 28 de En. de 2022
for me second option worked easily. Thanks Chad!

Iniciar sesión para comentar.

Categorías

Más información sobre Loops and Conditional Statements en Centro de ayuda y File Exchange.

Productos

Preguntada:

el 11 de Jun. de 2016

Comentada:

el 28 de En. de 2022

Community Treasure Hunt

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

Start Hunting!

Translated by