实验2 MATLAB/Simulink在控制系统建模中的应用
一、实验目的
1、掌握MATLAB/Simulink在控制系统建模中的应用; 二、实验设备
电脑一台;MATLAB仿真软件一个 三、实验内容
1、给定RLC网络如图所示。其中,ui(t)为输入变量,u0(t)为输出变量。求解这个系统的传递函数模型,零极点增益模型以及状态空间模型(假设R1?1?,R2?1?,C?1F,
L?1H)。
2、已知某双环调速的电流环系统的结构图如图所示。试采用Simulink动态结构图求其线性模型。
题1: 步骤1
从数学上求出系统传递函数。
根据电路基本定理,列出该电路的微分方程,如下:
R1i1?Ldi3?u0?ui dti1?i2?i3
同时还有 uo?i3R2
i2?C
d?di3?
?uo??L
dt?dt?
整理以上方程,并在零初始条件下,取拉普拉斯变换,可得:
5
G(s)?Uo(s)?Ui(s)1?L?R1?(R1Cs?1)?s?1???RR2?2?1 2s?2s?2
代入具体数值可得G(s)?步骤2 使用MATLAB程序代码如下。
clear all;
num=[0,1];den=[1 2 2]; sys_tf=tf(num,den) [z,p,k]=tf2zp(num,den) sys_zpk=zpk(z,p,k) [A,B,C,D]=zp2ss(z,p,k); sys_ss=ss(A,B,C,D) step(sys_tf);
[A,B,C,D]=linmod('Samples_4_12')
[num,den]=ss2tf(A,B,C,D); printsys(num,den,'s');
6
四、实验报告要求
实验报告撰写应包括实验名称、实验内容、实验要求、实验步骤、实验结果及分析和实验体会。 五、实验思考题
总结仿真模型构建及调试过程中的心得体会。
7
实验3 MATLAB/Simulink在时域分析法中的应用
一、实验目的
1、掌握时域分析中MATLAB/Simulink函数的应用; 2、掌握MATLAB/Simulink在稳定性分析中的应用。 二、实验设备
电脑一台;MATLAB仿真软件一个 三、实验内容
1、某随动系统的结构如图所示。利用MATLAB完成如下工作:(1)对给定的随动系统建立数学模型;(2)分析系统的稳定性,并且绘制阶跃响应曲线;(3)计算系统的稳态误差;(4)大致分析系统的总体性能,并给出理论上的解释。
2、已知某二阶系统的传递函数为G(s)??n,(1)将自然频率固定为?n?1,2s2?2??ns??n分析?变化时系统的单位阶跃响应;(2)将阻尼比?固定为??0.55,??0,0.1,...,1,2,3,5,分析自然频率?n变化时系统的阶跃响应(?n变化范围为0.1~1)。 四、实验报告要求
实验报告撰写应包括实验名称、实验内容、实验要求、实验步骤、实验结果及分析和实验体会。 五、实验思考题
总结仿真模型构建及调试过程中的心得体会。
题1:
步骤1 求取系统的传递函数。
首先需要对系统框图进行化简。不难看出,题中给出的系统包含两级反馈:外环是单位负反馈;内环则是二阶系统与微分环节构成的负反馈。可以利用MATLAB中的 feedback函数计算出系统的传递函数,代码如下。 cic;
clear aii;
num1=[20];den1=[1 2 0]; sys1=tf(num1,den1);
8
num2=[0.1 0];den2=[0 1]; sys2=tf(num1,den2);
sys_inner=feedback(sys1,sys2); sys_outer=feedback(sys_inner,1) 程序运行结果为: Transfer function: 20 -------------- s^2 + 4 s + 20
这样就得到了系统的总传递函数,即G(s)= 20 S^2+4s+20 步骤2 进行稳态分析。
根据求得的传递函数,对系统进行稳态性分析,代码如下: den=[1 4 20]; roots(den)
pzmap(sys_outer); grid on;
程序运行结果如下: ans =-2.0000 + 4.0000i -2.0000 - 4.0000i
系统的零极点分布图如图1所示
Pole-Zero Map40.40.280.20.140.0940.043.532.520.811.510.500.5-10.8-2-30.560.4-4-2-1.8-1.6-1.40.28-1.2-1Real Axis0.2-0.80.14-0.60.09-0.411.522.530.043.5-0.24030.562Imaginary Axis
图1系统的零极点分布图
步骤3 求取阶跃响应
计算系统的阶跃响应:可以采用MATLAB编程实现,还可以利用simulink对系统进行建模,直接观察响应曲线。MATLAB程序代码如下: num=[20];den=[1 4 20]; [y.t.x]=steo(num,den) plot(x,y); grid on;
9