num=[0 0 25]; den=[1 4 25]; syss=tf(num,den); t=0:0.01:3; y=step(syss,t);
b.执行Functions》All Functions》Array》Reshape Array操作,功能是将输出变量t和 y 的维数统一。
c. 连线,完成后见附录图7。
3.保存,运行
运行结果如图4.26所示。
图4.24 系统稳定性分析的运行结果
4.7.3实验子系统Matlab的仿真
在设计虚拟实验系统中,为了对设计好的实验子系统进行验证,采用Matlab软件进行仿真。仿真结果如图4.27所示。
-36-
图4.27 系统稳定性分析的Matlab仿真
当输入为0和0时,系统稳定性分析在Matlab下仿真所得结果和labview仿真的结果相同。
4.8非线性系统虚拟实验 4.8.1功能阐述
本系统为自动控制原理中非线性系统的虚拟实验系统,可以求出该非线性系统自振的振幅X和角频率w。
4.8.2设计过程
1. 面板设计
启动Labview,进入仪器编辑环境,建立仪器的面板,如图4.28所示,面板主要控件如下。
2个Numeric 控件,功能是输出非线性系统的角频率和振幅;1个OK Button 控件,功能是可以退出该实验。
-37-
图4.28 非线性系统的仪器面板
2. 程序框图设计
a.执行Functions》All Functions》Analyze》Mathematics》Formula》MATLAB Script操作,然后添加如下的输出变量。
输出变量 类型 X1 Real W2 Real
然后,将下面的MATLAB文件写入节点内。 syms w X;
w=solve('2-w^2=0'); w=vpa(w,4); w1=w(1); w2=double(w1);
G=10/(j*w1*(j*w1+1)*(j*w1+2)); A=real(G);
X=solve('-pi*X/4=A',X); X=eval(X); X=eval(X); X1=double(X);
b.连线,完成后见附录II图8。 3.保存,运行
运行结果如图4.29所示。
-38-
图4.29非线性系统的运行结果
4.8.3在Matlab中绘制系统的-1/N与G(jw)轨迹
在振幅与角频率的计算过程中,用到了系统的非线性元件-1/N轨迹及线性部分的G(jw)轨迹,因此在Matlab中做了如下的编程,进行图形的绘制。
M=1;
for X=0.01:0.1:10 x=-pi*X/4; y=0; plot(x,y,'k*') hold on end n=[0 0 0 10];
d=conv(conv([1 0],[1 1]),[1 2]); G=tf(n,d); for w=0.8:0.1:6
nyquist(G,[w,w+0.1]) hold on end
仿真结果如图4.30所示。
-39-
图4.30 非线性部分-1/N与线性部分的G(jw)轨迹
通过在matlab中编程得到的结果,可知非线性系统自振的振幅X和角频率w在Matlab下仿真所得结果和labview仿真的结果相同。
-40-