控制系统计算机辅助设计CAD实验

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

控制系统计算机辅助

设计实验

一、实验教学目标与基本要求

上机实验是本课程重要的实践教学环节。实验的目的不仅仅是验证理论知识,更重要的是通过上机加强学生的实验手段与实践技能,掌握应用MATLAB/Simulink 求解控制问题的方法,培养学生分析问题、解决问题、应用知识的能力和创新精神,全面提高学生的综合素质。

通过对MATLAB/Simulink进行求解,基本掌握常见控制问题的求解方法与命令调用,更深入地认识和了解MATLAB语言的强大的计算功能与其在控制领域的应用优势。

二、题目及解答

第一部分:MATLAB 必备基础知识、控制系统模型与转换、线

性控制系统的计算机辅助分析:

编写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

所的图像:三维相轨迹(下图)

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)

运行结果:

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

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

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.

转换为零极点模型为:

>> G2=zpk(G)

Zero/pole/gain:

2

----------------------------------

(s+12.72) (s^2 + 0.2836s + 0.3932)

5.

如题可设采样时间为0.1s,代码如下:

>> z=tf('z',0.1);

H=(z+2)/(z^2+z+0.16)

运行结果为:

Transfer function:

z + 2

--------------

z^2 + z + 0.16

Sampling time: 0.1

6.

编写feedback.m函数:

function H=feedback(G1,G2,key)

if nargin==2; key=-1; end, H=G1/(sym(1)-key*G1*G2); H=simple(H); 代码如下:

syms J Kp Ki s;

G=(s+1)/(J*s^2+2*s+5);Gc=(Kp*s+Ki)/s;

GG=feedback(G*Gc,1);G1=collect(GG,s)

运行结果为:

G1 =(s+1)*(Kp*s+Ki)/(J*s^3+(Kp+2)*s^2+(Ki+Kp+5)*s+Ki)

7.

(a):代码如下:

>> s=tf('s');G=(211.87*s+317.64)/(s+20)/(s+94.34)/(s+0.1684);

Gc=(169.6*s+400)/s/(s+4);H=1/(0.01*s+1);GG=feedback(G*Gc,H)

运行结果为:

Transfer function:

359.3 s^3 + 3.732e004 s^2 + 1.399e005 s + 127056

相关文档
最新文档