控制系统计算机辅
助设计实验
2
一、实验教学目标与基本要求
上机实验是本课程重要的实践教学环节。实验的目的不仅仅是验证理论知
识,更重要的是通过上机加强学生的实验手段与实践技能,掌握应用MATLAB/Si
mulink 求解控制问题的方法,培养学生分析问题、解决问题、应用知识的能力
和创新精神,全面提高学生的综合素质。
通过对MATLAB/Simulink进行求解,基本掌握常见控制问题的求解方法与命
令调用,更深入地认识和了解MATLAB语言的强大的计算功能与其在控制领域的应
用优势。
二、题目及解答
第一部分:MATLAB 必备基础知识、控制系统模型与转换、
线性控制系统的计算机辅助分析:
1.
编写rossler.m文件:
function dx=rossler(t,x)
dx=[-x(2)-x(3);x(1)+0.2*x(2);0.2+(x(1)-5.7)*x(3)];
主函数:
>> x0=[0;0;0];
[t,y]=ode45('rossler',[0,100],x0);
plot3(y(:,1),y(:,2),y(:,3)),grid
>> plot3(y(:,1),y(:,2),y(:,3)),grid
>> plot(y(:,1),y(:,2)),grid
所的图像: 三维相轨迹(下图)
3
xoy 平面投影
2.
编写 c2exmobj.m 文件:
function y=c2exmobj(x)
y=x(1)^2-2*x(1)+x(2);
编写 c2exmcon.m 文件:
function [c,ce]=c2exmcon(x)
ce=[];
c=[4*x(1)^2+x(2)^2-4];
主函数为:
A=[];B=[];Aeq=[];Beq=[];xm=[0;0];xM=[];x0=[0;0];
ff=optimset;ff.Tolx=1e-10;ff.TolFun=1e-20;
x=fmincon('c2exmobj',x0,A,B,Aeq,Beq,xm,xM,'c2exmcon',ff)
4
运行结果:
Warning: Trust-region-reflective method does not currently solve this type of
problem,
using active-set (line search) instead.
> In fmincon at 422
Optimization terminated: first-order optimality measure less than options.TolFun
and maximum constraint violation is less than options.TolCon.
Active inequalities (to within options.TolCon = 1e-006):
lower upper ineqlin ineqnonlin
2 1
x =
1.0000
0
3.
(a).程序代码为:
>> s=tf('s');
G=(s^3+4*s+2)/(s^3*(s^2+2)*((s^2+1)^3+2*s+5))
运行结果为:
Transfer function:
s^3 + 4 s + 2
------------------------------------------------------
s^11 + 5 s^9 + 9 s^7 + 2 s^6 + 12 s^5 + 4 s^4 + 12 s^3
(b). 程序代码为:
>> z=tf('z',0.1);
H=(z^2+0.568)/((z-1)*(z^2-0.2*z+0.99))
运行结果为:
Transfer function:
z^2 + 0.568
-----------------------------
z^3 - 1.2 z^2 + 1.19 z - 0.99
Sampling time: 0.1
5
4.
将方程两边进行拉式变换后可得传递函数,代码如下:
>> tf('s');
G=2/(s^3+13*s^2+4*s+5)
Transfer function:
2
----------------------
s^3 + 13 s^2 + 4 s + 5
转换为状态空间方程为:
>> G1=ss(G)
a =
x1 x2 x3
x1 -13 -1 -1.25
x2 4 0 0
x3 0 1 0
b =
u1
x1 0.5
x2 0
x3 0
c =
x1 x2 x3
y1 0 0 1
d =
u1
y1 0
Continuous-time model.