Save loop data

177 views (last 30 days)
Rahul
Rahul on 28 Mar 2012
Commented: Mahsa Amiri on 16 Jul 2020
I have a for loop, but every iteration overwrites the variable and I have only the final data left.. how can I save data from every loop
for mp=1:100
zsx=somecalc(mp)
end
saves only the last value when mp=100. how do I get the other values?

Accepted Answer

Thomas
Thomas on 28 Mar 2012
Thomas Anthony answered on 8 Mar 2012 at 15:06
This video should help:
You can save the output in a vector or matrix as shown,
Eg:
for i=1:10
y(i)=i+rand; % use y(i) so that it is written as a vector
end
or you could use:
z=[];
for i=1:10
z=[z i+rand];
end
both should give you similar results..
  4 Comments
Austin Hernandez
Austin Hernandez on 27 Apr 2020
I have a similar issue but I need to record the y-values of a line from x=a to x=b.
Each loop, the slope of the line will change so there will be a different set of x and y's for each loop
How can I record the y-values from the function for each loop? The above fix doesn't work if a function is inside of it. This is my code and gives me an error once it trys to record y(i):
function for_test
y = ones(1,1);
for i=1:10
x = 0:1:10;
y(i) = x+rand; % use y(i) so that it is written as a vector
end
%I want to be able to access both sets of information when the for loop is over.
end
Mahsa Amiri
Mahsa Amiri on 16 Jul 2020
Tahnk you Thomas!

Sign in to comment.

More Answers (0)

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!