我使用图形函数生成的这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 :(得分:1)
我不确定你的意思是你喜欢数字函数来绘制函数。我的理解是情节使用活动或引用的数字。如果你想在一个窗口中有多个图形,这就是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])