开环传递函数G(s)=(10*K)/(s*(s+5)*(0.1*s+1)),当k分别为1 7.5 20时,画出对应的nyquist图
代码如下:
%plot nyquist of the control system open-loop transfer function G(s)=(10*K)/(s*(s+5)*(0.1*s+1)); K=[1 7.5 20]; den=conv([1 0],conv([1 5],[0.1 1])); num=[0 0 0]; Re=zeros(89,3); Im=zeros(89,3); for i=1:3 num(i)=10*K(i); [Re(:,i),Im(:,i)]=nyquist(num(i),den); end %plot(Re(:,1),Im(:,1),'r-', Re(:,2),Im(:,2),'g-', Re(:,3),Im(:,3),'b.'); %可以直接做图 plot(Re,Im); %legend('k=1','k=7.5','k=20'); %指定图例的位置 legend({'k=1','k=7.5','k=20'},'Location','southwest'); v=[-20 1 -20 20]; axis(v);
可以先计算一个结果,根据结果创建一个合适的矩阵,将循环所有结果存进矩阵中,便于后期的画图和使用
标签:20,技巧,0.1,编程,Re,num,Im,7.5,nyquis From: https://www.cnblogs.com/guochaoxxl/p/18328036