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?

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

it works... thanks for your help
for me second option worked easily. Thanks Chad!

Sign in to comment.

Products

Asked:

on 11 Jun 2016

Community Treasure Hunt

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

Start Hunting!