Plotting a variable as a function of the iteration number in a for loop

7 visualizzazioni (ultimi 30 giorni)
Hi,
Basically I have loop, within which is a 12X12 array of zeros and ones. For each cycle of the loop I need to sum the value of the array(which I am able to do) and then plot this value against the iteration/loop number.
Obviously the value of the array changes for each loop so I am a bit stuck as to how to plot the graph.
Eg. Do I output the values for each loop to a seperate new array/file, which I then draw upon at the end of the loop to create the graph? Or is there some way to construct a graph in stages as the program loops-essentially holding the plot figure and adding new points to the existing plot for each iteration.
Any help would be very much appreciated! If I have not explained very well just let me know and I can try and explain further/provide code snippets.
Thanks in advance,
Mike Scott

Risposta accettata

Matt Fig
Matt Fig il 11 Apr 2011
Here is an example. Note that if your loop index is 1-to-N, then you won't need the loop counter and this can be simplified in obvious ways. I do have to wonder, however, if you can avoid the loop altogether. Only a look at your code can shed light here...
lp_idx = 10:.5:30; % This is the loop index.
S = zeros(1,length(lp_idx)); % Pre-allocation.
cnt = 1; % Loop counter.
for ii = lp_idx
t = magic(ii); % An array which changes in loop
S(cnt) = sum(t(:)); % The sum of each array
cnt = cnt + 1; % Increment the counter.
end
plot(lp_idx,S) % Plot sum vs. loop index
xlabel('Loop Index')
ylabel('Matrix Sum')
  5 Commenti
Mike Scott
Mike Scott il 11 Apr 2011
Wow I have been reading through so many topics without any luck. That's great, thanks so much for your response Matt.
Much appreciated,
Mike

Accedi per commentare.

Più risposte (1)

vega valentine
vega valentine il 11 Apr 2011
don't you just have to plot it outside the loop? I think what you need to do is just store every values you needed in every loop into a separate array/variable, and then after the looping is done, you can plot that array/variable.
  2 Commenti
Mike Scott
Mike Scott il 11 Apr 2011
Yes, the plot command is written outside of the loop. You have cleared up my query regarding whether to store the values as the program loops into a seperate array, which makes sense now. Is there a command that I should use to set up this array and then assign the values generated in each loop to?
Thanks for your reply
Oleg Komarov
Oleg Komarov il 11 Apr 2011
Post the code you're using, formatting with the code button.

Accedi per commentare.

Categorie

Scopri di più su Conway's Game of Life in Help Center e File Exchange

Prodotti

Community Treasure Hunt

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

Start Hunting!

Translated by