2014-11-04 91 views
-1

我想画两个数字并分别保存为suva1.figsuva2.fig。第一个图中有5条相同的线,第二个图中有4条相同的线。以下是我的代码。但我不能得到所需的情节。请指出如何编辑代码以获得期望的结果。在Matlab图中显示多个图

clear all 
clc 
x1=[1:1:50]; 
y1=[1:1:50]; 
x2=[1:2:100]; 
y2=[1:2:100]; 
for i=1:2 
if (i==1) 
    for j=1:5 
h=figure 
plot(x1,y1,'o') 
hold on 
    end 
saveas(h, 'suva1','fig') 
end 
if (i==2) 
    for j=1:4 
h=figure 
plot(x2,y2,'o') 
    end 
saveas(h, 'suva2','fig') 
end 
end 
+0

A.你不需要我环路和'if' statments(@晒会告诉我们。你也可以为循环选择其他变量......)B.你错过了第二个数字中的'hold on' – Adiel 2014-11-04 13:25:11

+1

C.你用第二个数字跑过第一个图 – Adiel 2014-11-04 13:41:17

回答

1

从你的代码看,它看起来并不像你试图在一个图中显示多个图。另外,我不知道为什么你把循环 为(J = 1:5)

要绘制在同一个情节多条线路,使用Hold on命令:

h=figure 
plot(x1, y1, 'o'); hold on; 
plot(x2, y2, 'k'); 
hold off; 

要使用的次要情节:

h = figure; 
subplot(2,1,1); 
plot(x1,y1,'o'); hold on; 
subplot(2,1,2); 
plot(x2,y2,'k'); 
hold off; 

为了节省2个独立的阴谋:

h = figure; 
plot(x1,y1,'o'); 
saveas(h, 'suva1','fig'); 
close(h); 
h2 = figure; 
plot(x2,y2,'o'); 
saveas(h2, 'suva2','fig'); 
close(h2);