Plotting a variable as a function of the iteration number in a for loop
44 次查看(过去 30 天)
显示 更早的评论
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
采纳的回答
Matt Fig
2011-4-11
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 个评论
更多回答(1 个)
vega valentine
2011-4-11
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 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Conway's Game of Life 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!