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?

Antworten (1)

Chad Greene
Chad Greene am 11 Jun. 2016
Bearbeitet: Chad Greene am 11 Jun. 2016

2 Stimmen

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 Kommentare

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

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Loops and Conditional Statements finden Sie in Hilfe-Center und File Exchange

Produkte

Gefragt:

am 11 Jun. 2016

Community Treasure Hunt

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

Start Hunting!

Translated by