Saving data from loop

while(run<time)
if(run > time)
break
end
~do calculations~
z=[];
pie= crust*apple;
z=[pie];
~do calculations~
end
I'm trying to store all of the calculations from pie but for some reason it is being overwritten each time it goes through the loop. what else would I need to add to have the data saved correctly?

 Accepted Answer

Stephen23
Stephen23 on 21 Jan 2018
Edited: Stephen23 on 21 Jan 2018
method one: concatentation:
z = [];
while ...
...
pie = ...
z = [z,pie];
end
method two: indexing:
replace z = [z,pie] with:
z(end+1) = pie;
Note that expanding z on each iteration will be very inefficient, and will likely slow down your code: it is rarely a good idea to start with an empty array and enlarge it on each loop iteration. See:

More Answers (0)

Categories

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

Asked:

on 21 Jan 2018

Commented:

on 21 Jan 2018

Community Treasure Hunt

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

Start Hunting!