从不同的matlab文件中绘图

时间:2012-05-21 04:57:38

标签: matlab plot

我有四个matlab代码,每个代码生成一个图,如何能够将所有图组合成一个图来显示每个图的转换?

2 个答案:

答案 0 :(得分: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]);

答案 1 :(得分:0)

如果你想让所有四个人都在同一个数字上(如图1所示)那么你可以这样做:

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

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

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

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

   % 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中绘制。