while loop only diving last result

Hi,
I have some code within a while loop. Let's say the loop runs 10 times and I want to find Xstar for each of those 10 times. The code will do this, but I want to create a vector to hold each of these 10 values so I don't have to read through and find them. After the code runs,the value stored onto Xstar is the value for the 10th iteration. I want to keep it that way, but also add a new vector that holds ALL of the Xstar values.
Thank you!!

Answers (2)

count = 0; % initialize counter
out = zeros(100,1); % preallocate (not always possible with while)
while count < 100
count = count + 1; % increment counter
out(count) = rand; % allocate result into preassigned space in out
end

4 Comments

And if Xstar is not a scalar,
out = cell(100,1); % Before the loop
...
out{count} = Xstart; % In the loop
That seemed to output the final value of Xstar repeatedly. Do I want to put this code outside of the while loop?
The piece of code that finds the value for Xstar is already inside of a while loop...Is it just where I placed your code? I would post it but its thousands and thousands of lines and I'd rather not...
It's something like:
while condition
thousands of lines of code
Xstar = equation;
end
It outputs the value of Xstar each time but it would take a long time to look through the output to find the value. Does that make sense?
thank you!
Xstar = {}
while condition
thousands of lines of code
Xstar{end+1} = equation;
end
Note: if you can make reasonable guesses about the number of iterations, it is best to pre-allocate the cell array and use a counter instead of "end+1".
guess_length = 100;
Xstar = cell(guess_length,1);
count = 0;
while condition
thousands of lines of code
count = count + 1;
Xstar{count} = equation;
end
if count < guess_length %trim off unused portions
Xstar(counts+1:end) = [];
end
Thanks!! That did the trick!

Sign in to comment.

v=[];
while condition
Xstar=
v=[v Xstar]
end

Categories

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

Asked:

on 14 Aug 2012

Community Treasure Hunt

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

Start Hunting!