2013-02-12 42 views
1

我与这些由图函数生成的3个图和rlocus生成的1个图以及我想要做的是将这4个图放置在同一个窗口中,如副图功能确实。我试图使用它,但它没有工作,而且我更喜欢使用图函数而不是绘图函数,因为默认属性,所以现在我正在寻找一些替代品。提前致谢。通过图形函数在一个窗口中创建的图

num1=1; 
den1=[1,3,3,1]; 
G=tf(num1,den1); 
for Kp=[0.1:0.1:1] 
    G_c=feedback(Kp*G,1); 
    step(G_c); 
    hold on 
end 
figure 

Kp=1; 
s=tf('s'); 
for Ti=[0.7:0.1:1.5] 
    Gc=Kp*(1+1/Ti/s); 
    G_c=feedback(G*Gc,1); 
    step(G_c); 
    hold on 
end 
figure 

Ti=1; 
s=tf('s'); 
for Td=[0.1:0.2:2] 
    Gc=Kp*(1+1/Ti/s+Td*s); 
    G_c=feedback(G*Gc,1); 
    step(G_c); 
    hold on 
end 
figure 
rlocus(G,[0,15]) 
+0

你将不得不提供比“它不工作”,什么其他属性你更多信息当使用'subplot'时不满意,否则我们不知道为什么你不能使用它。 – tmpearce 2013-02-12 23:08:55

回答

1

我不确定你的意思是你喜欢图形函数来绘制函数。我的理解是情节使用活动或引用的数字。如果你想在一个窗口中显示多个图,这是subplot所做的。

这是不是你想要的东西: Graphs displayed with subplot

使用的插曲:

subplot(2,2,1) 
num1=1; 
den1=[1,3,3,1]; 
G=tf(num1,den1); 
for Kp=[0.1:0.1:1] 
    G_c=feedback(Kp*G,1); 
    step(G_c); 
    hold on 
end 

subplot(2,2,2) 
Kp=1; 
s=tf('s'); 
for Ti=[0.7:0.1:1.5] 
    Gc=Kp*(1+1/Ti/s); 
    G_c=feedback(G*Gc,1); 
    step(G_c); 
    hold on 
end 

subplot(2,2,3) 
Ti=1; 
s=tf('s'); 
for Td=[0.1:0.2:2] 
    Gc=Kp*(1+1/Ti/s+Td*s); 
    G_c=feedback(G*Gc,1); 
    step(G_c); 
    hold on 
end 

subplot(2,2,4) 
rlocus(G,[0,15]) 
+0

是的,这是,我用错误的方式使用subplot函数。非常感谢您的帮助。 – Leandro 2013-02-13 22:59:02

相关问题