0

我有四个 matlab 代码,每个代码都生成一个图,如何能够将所有图组合成一个图以显示每个图的过渡?

4

2 回答 2

2

如果要在同一个图形上绘制多条线,可以使用hold on例如:

plot(x1,y1,'ok');    
hold on
plot(x2,y2,'or');

如果您说它们都形成一行,那么尝试像这样连接您的输入向量:

%Mock input
x1 = 0:9;
x2 = 10:19;
x3 - 20:29;
x4 = 30:39;
y1 = 2*x1 -20;
y2 = 2*x2 -20;
y3 = 2*x3 -20;
y4 = 2*x4 -20;
%Example of plotting concatenated vectors
plot( [x1;x2;x3;x4], [y1;y2;y3;y4]);
于 2012-05-21T06:28:43.597 回答
0

如果您希望所有四个都在同一个数字上(例如图 1),那么您可以这样做:

%% In PlotCode1.m
figure(1)
hold on
...%your plotting code

%% In PlotCode2.m
figure(1)
hold on
...%your plotting code

如果您在不关闭或清除图 1 的情况下运行每个 PlotCode.m 文件,那么所有行都将显示在同一个图上。

或者,您可以将每个不同的绘图文件转换为以图形编号作为输入的函数。例如:

   % In PlotCode1.m
   function PlotCode1(num)
     figure(num)
     hold on
     %Your plotting code

% In PlotCode2.m
  function PlotCode2(num)
     figure(num)
     hold on
     %Your plotting code

现在您可以在一个脚本中调用这些函数中的每一个:

 fignum = 2;
 PlotCode1(fignum)
 PlotCode2(fignum)

现在一切都将绘制在图 2 上。

于 2012-05-21T06:18:04.033 回答