how to save each loop data

12 views (last 30 days)
abdul asad
abdul asad on 11 Jun 2016
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?

Answers (1)

Chad Greene
Chad Greene on 11 Jun 2016
Edited: Chad Greene on 11 Jun 2016
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 Comments
abdul asad
abdul asad on 11 Jun 2016
it works... thanks for your help
Afraz MEHMOOD CHAUDHRY
Afraz MEHMOOD CHAUDHRY on 28 Jan 2022
for me second option worked easily. Thanks Chad!

Sign in to comment.

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!