Several graphs in 1 loop, each iteration adds a line on every figure

axes, figure, legend, matlab, plot

Solution

Save a handle to each figure, and to each axis object:

fh1 = figure;
hold all;
ah1 = gca;

fh2 = figure;
hold all;
ah2 = gca;

for i=1:N
    y(:,i) = function of x;
    z(:,i) = function of x;
    plot(ah1, x, y(:,i)); %# tell it which axis to use (ah1)
    plot(ah2, x, z(:,i)); %# (ah2)
end

legend(ah1, ...) %# legend options here
legend(ah2, ...) %# and the other legend

%# note: you can set figure properties for each using fh1, fh2 handles.

Problem

Trying to engineer the following in Matlab: ``` ** loop start; y(:,i) = function of x; z(:,i) = function of x; plot(x,y(:,i)) on figure 1, hold all; plot(x,z(:,i)) on figure 2, hold all; ** loop end; add title, legend, etc for figure 1 (NB: we have multiple lines); add title, legend, ets for figure 2 (NB: same, have multiple lines for the legend);` ``` Tried multiple combinations without much luck. Managed to get 2 figures but only the 2-nd displays multiple lines, not the first. And can't figure how to add legends to these 2 correctly.

Original source