how to save each loop data
Show older comments
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
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
on 11 Jun 2016
Afraz MEHMOOD CHAUDHRY
on 28 Jan 2022
for me second option worked easily. Thanks Chad!
Categories
Find more on Loop-Shaping Design 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!