您的当前位置:首页正文

先进控制理论实验

2022-08-06 来源:步旅网
进控制理论实验

一、实验目的:

1. 在matlab编译环境下,学会如何运用LMI工具箱中的函数求解相关的线性矩阵不等式。

2.学习在Simulink环境下仿真系统模型的方法。

二、实验环境:

计算机,matlab2010a

三、实验步骤:

1. 实验1:

(1) 在MATLAB中新建file文件,编写m函数文件 (2) 编译运行

2.实验2:

(1)在MATLAB中点击File, New, Model,搭建Simulink模型

(2)点击 START SIMULATION,如果没有错误提示,则进入下一步。 (3)得到相应图形,对其进行编辑和分析。

四、实验仿真程序及结果:

实验1:用LMI工具箱中的相关函数求下列线性矩阵不等式

-X0020W1X1W1EW10Y02Y20W21C2YW2EW200Z21Z00EZ(20W1)T(2Y20W2)T(21Z)T(1X)T(1C2Y)T00X00W1TW2T000Z0(EW1)T(EW2)T(EZ)T00 00IDDTY000

实验一程序:

setlmis([]);

X=lmivar(1,[2 1]); %X是两行一列的对称矩阵 Y=lmivar(1,[3 1]); %Y是三行一列的对称矩阵 Z=lmivar(1,[1 1]); %Z是一行一列的对称矩阵 W1=lmivar(2,[1 2]); %W1是一行两列的非对称矩阵 W2=lmivar(2,[1 3]); %W2是一行三列的非对称矩阵 alpha=lmivar(1,[1 1]); %alpha是一行一列的对称矩阵 %———————已知参数的设定————————%

Phi1=[0.6887 -0.0093;0.8356 0.9951];

Phi2=[-0.0342 -0.4364 -0.0342;0.3425 0.6849 -0.0254;0.2542 0.8762 0.9899];

tao1=[0.8356;0.4437]; tao20=[0.2944;0.0886;0.0161]; tao21=[0.0481;0.1656;0.0847]; E=[1;0;0]; C2=[0,0,0.1];

D=[0.1539 -0.2035 -0.0165;0.1655 0.5014 -0.0050;0.0498 0.2700 0.5612]; %——————————所要求解矩阵的编写————————————% lmiterm([1 1 1 X],-1,1); %第

1个1表示第一个线性矩阵不等式,第2个1表示第一行,第3个1表示第1列,第4个表示变量,第5个数表示X左侧的常数,第6个1表示Q1右侧的常数%

lmiterm([1 1 4 -W1],1,tao20'); lmiterm([1 1 5 -X],1,Phi1'); lmiterm([1 1 6 -W1],1,1); lmiterm([1 1 7 -W1],1,E'); lmiterm([1 2 2 Y],-1,1); lmiterm([1 2 4 -Y],1,Phi2'); lmiterm([1 2 4 -W2],1,tao20'); lmiterm([1 2 5 -Y],1,C2'*tao1'); lmiterm([1 2 6 -W2],1,1); lmiterm([1 2 7 -W2],1,E'); lmiterm([1 3 3 Z],-1,1);

lmiterm([1 3 4 -Z],1,tao21'); lmiterm([1 3 7 -Z],-1,E'); lmiterm([1 4 4 alpha],1,D*D'); lmiterm([1 4 4 Y],-1,1); lmiterm([1 5 5 X],-1,1); lmiterm([1 6 6 Z],-1,1); lmiterm([1 7 7 alpha],-1,1); lmis=getlmis;

[tmin,xfeas]=feasp(lmis)

%----------------未知参数的计算-----------------% X=dec2mat(lmis,xfeas,X) Y=dec2mat(lmis,xfeas,Y) Z=dec2mat(lmis,xfeas,Z) W1=dec2mat(lmis,xfeas,W1) W2=dec2mat(lmis,xfeas,W2)

alpha=dec2mat(lmis,xfeas,alpha)

运行结果为:

Solver for LMI feasibility problems L(x) < R(x)

1

This solver minimizes t subject to L(x) < R(x) + t*I The best value of t should be negative for feasibility Iteration : Best value of t so far 1 0.198127 2 0.060427 3 0.060427 4 0.028449 5 0.028449 6 0.015710 7 0.015710 8 0.011808 9 0.011808 10 5.756269e-003 11 1.263567e-004 12 -0.542992 Result: best value of t: -0.542992

f-radius saturation: 0.004% of R = 1.00e+009 tmin = -0.5430 xfeas = 1.0e+004 * 0.1312 -0.2237 4.2546 0.7058 -0.3323 0.3362 -0.0149 -0.2972 0.7423 0.0051 0.0000 0.0000 -0.0002 0.0000 0.0001 0.0103 X =

1.0e+004 *

0.1312 -0.2237 -0.2237 4.2546 Y =

1.0e+003 *

7.0581 -3.3231 -0.1493

2

-3.3231 3.3625 -2.9715 -0.1493 -2.9715 7.4229 Z = 51.1779 W1 =

0.0709 0.2932 W2 =

-1.8380 0.4261 0.5209 alpha = 103.2133

结论分析:

运行结果与论文中的参数略有不同,但tmin为负值,符合文章相关的参数要求。 误差分析:未考虑可能存在的未知干扰因素或者相关的参数设置不正确。

实验2:在Simulink环境下对以下模型进行仿真

0.36670.011111xx(t)10y2(t)10 y1(t)00.0111x1(t)2.11.20.11x(t)0V(t)2(t)1x0022

1000y2(t)000.1x2(t)

u2(t)K1x1(t)K2x2(t);u1(t)K1x1(t)

t[kh,khk)u(k1) V2(t)2u2(k)t[khk,khh)其中,

K11030.28440.034,K20.00090.00250.0014

x1(0)0.10,x1(0)110TT

(1)系统建模:

3

tClockTo WorkspaceScope2u1To Workspace2Scope3u2To Workspace1Scopex2To Workspace3Scope1x1To Workspace42Out2K*u1sK*uK*u1sTransportG3IntegratorG5G6Integrator1DelayK*uG7G4K*uK*uG2K*uG1图1 simulink模型

1) 系统各参数仿真图:

6 x115x12431x210-10 50100150200250300Time/s图2 State response of x1

4

K*u1G8Out1

2.5x21x22x23 21.51x20.50-0.5-1 050100150Time/s200250300图3 State response of x2

2x 10-4

u11.51u10.50-0.5-1 050100150Time/s200250300

图4 Primary controller output u1

5

43.532.52x 10-3 u2u21.510.50-0.5 050100150Time/s200250300

图5 Secondary control effort u2

6

因篇幅问题不能全部显示,请点此查看更多更全内容