我有四个matlab代码,每个代码生成一个图,如何能够将所有图组合成一个图来显示每个图的转换?
答案 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中绘制。