好好学习,天天向上,一流范文网欢迎您!
当前位置:首页 >> 最新范文 内容页

现代控制实验报告

现代控制实验报告 本文关键词:实验,控制,报告

现代控制实验报告 本文简介:实验1利用MATLAB进行传递函数和状态空间模型间的转换例1.1代码:A=[010;001;-5-25-5];B=[0;25;-120];C=[100];D=[0];[num,den]=ss2tf(A,B,C,D)结果:num=00.000025.00005.0000den=1.00005.0000

现代控制实验报告 本文内容:

实验1

利用MATLAB进行传递函数和状态空间模型间的转换

例1.1

代码:

A=[0

1

0;0

0

1;-5

-25

-5];

B=[0;25;-120];

C=[1

0

0];

D=[0];

[num,den]=ss2tf(A,B,C,D)

结果:

num

=

0

0.0000

25.0000

5.0000

den

=

1.0000

5.0000

25.0000

5.0000

例1.2

代码:

A=[0

1;-25

-4];

B=[1

1;0

1];

C=[1

0;0

1];

D=[0

0;0

0];

[num1,den1]=ss2tf(A,B,C,D,1)

[num2,den2]=ss2tf(A,B,C,D,2)

结果:

num1

=

0

1.0000

4.0000

0

0

-25.0000

den1

=

1.0000

4.0000

25.0000

num2

=

0

1.0000

5.0000

0

1.0000

-25.0000

den2

=

1.0000

4.0000

25.0000

例1.3

代码:

num=[0

0

10

10];

den=[1

6

5

10];

[A,B,C,D]=tf2ss(num,den)

结果:

A

=

-6

-5

-10

1

0

0

0

1

0

B

=

1

0

0

C

=

0

10

10

D

=

0

实验要求

代码:

num=[0

0

1

2;0

1

5

3]

den=[1

2

3

4];

[A,B,C,D]=tf2ss(num,den)

结果:

A

=

-2

-3

-4

1

0

0

0

1

0

B

=

1

0

0

C

=

0

1

2

1

5

3

D

=

0

0

实验2

利用MATLAB对状态空间模型进行分析

例2.1

代码:

A=[0

1;-10

-5];

B=[0;0];D=B;

C=[1

0;0

1];

x0=[2;1];

[y,x,t]=initial(A,B,C,D,x0);

plot(t,x(:,1),t,x(:,2))

grid

title(

Response

to

Initial

Condition

)

xlabel(

Time

(sec)

)

ylabel(

x1,x2

)

text(0.55,1.15,x1

)

text(0.4,-2.9,x2

)

图形:

例2.2

代码:

A=[-1

-1;6.5

0];

B=[1

1;1

0];

C=[1

0;0

1];

D=[0

0;0

0];

step(A,B,C,D)

图形:

例2.3

代码:

A=[0

-2;1

-3];

B=[2;0];

C=[1

0];

D=[0];

sys=ss(A,B,C,D);

x0=[1;1];

t=[0:0.01:20];

u=cos(t);

[y,T,x]=lsim(sys,u,t,x0);

subplot(2,1,1),plot(T,x(:,1))

xlabel(

Time(sec)

),ylabel(

X_1

)

subplot(2,1,2),plot(T,x(:,2))

xlabel(

Time(sec)

),ylabel(

X_2

)

图形:

实验要求

代码:

A=[0

1;-1

0];

B=[0;0];

D=B;

C=[1

0;0

1];

x0=[0;1];

[y,x,t]=initial(A,B,C,D,x0);

plot(t,x(:,1),t,x(:,2))

grid

title(

Response

to

Initial

Condition

)

xlabel(

Time

(sec)

)

ylabel(

x1,x2

)

text(0.55,1.15,x1

)

text(0.4,-2.9,x2

)

图形:

实验3

利用MATLAB导出连续状态空间模型的离散化模型

例3.1

代码:

A=[0

1;-25

-4];

B=[0;1];

[G,H]=c2d(A,B,0.05)

结果:

G

=

0.9709

0.0448

-1.1212

0.7915

H

=

0.0012

0.0448

实验要求

T=1时的代码:

A=[-1

0;0

-2];

B=[0;1];

[G,H]=c2d(A,B,1)

结果:

G

=

0.3679

0

0

0.1353

H

=

0

0.4323

T=0.5时的代码:

A=[-1

0;0

-2];

B=[0;1];

[G,H]=c2d(A,B,0.5)

结果:

G

=

0.6065

0

0

0.3679

H

=

0

0.3161

实验4

利用MATLAB求解极点配置问题

例4.1

代码:

A=[0

1

0;0

0

1;-1

-5

-6];

B=[0;0;1];

J=[-2+j*4

-2-j*4

-10];

K=acker(A,B,J)

结果:

K

=

199

55

8

代码:

A=[0

1

0;0

0

1;-1

-5

-6];

B=[0;0;1];

J=[-2+j*4

-2-j*4

-10];

K=place(A,B,J);

sys=ss(A-B*K,[0;0;0],eye(3),0);

t=0:0.01:4;

x=initial(sys,[1;0;0],t);

x1=[1

0

0]*x

;

x2=[0

1

0]*x

;

x3=[0

0

1]*x

;

subplot(3,1,1);plot(t,x1),grid

title(

Response

to

Initial

Condition

)

ylabel(

x1

)

subplot(3,1,2);plot(t,x2),grid

ylabel(

x2

)

subplot(3,1,3);plot(t,x3),grid

xlabel(

t

(sec)

)

ylabel(

x3

)

图形:

实验要求:

求K:

A=[0

1;-3

-4];

B=[0;1];

J=[-4

-5];

K=acker(A,B,J)

结果:

K

=

17

5

配置极点前:

A=[0

1;-3

-4];

B=[0;1];

C=[3

2];

D=0;

step(A,B,C,D)

单位阶跃响应:

配置极点后:

A=[0

1;-20

-9];

B=[0;1];

C=[3

2];

D=0;

step(A,B,C,D)

单位阶跃响应:

分析:

系统动态性能变好,但是稳态误差变大。

实验5

利用MATLAB设计状态观测器

例5.1

求L:

a=[0

1

0;0

0

1;1.244

0.3965

-3.145];

b=[0;0;1.244];

c=[1

0

0];

v=[-5+j*5*sqrt(3)

-5-j*5*sqrt(3)

-10];

l=(acker(a,c,v))

结果:

l

=

16.8550

147.3875

544.3932

实验要求:

求K:

a=[0

1

;0

-2];

b=[0;1];

J=[-2+j*2*sqrt(3)

-2-j*2*sqrt(3)];

K=acker(a,b,J)

得:

K

=

16.0000

2.0000

求L:

a=[0

1

;0

-2];

b=[0;1];

c=[4

0];

v=[-8

-8];

l=(acker(a,c,v))

得:

l

=

14

36

求响应代码:

A=[0

1;0

-2];

B=[0;1];

C=[4

0];

D=0;

K=[16

2];

L=[3.5;9];

AA=[A-B*K

B*K;zeros(2,2)

A-L*C];

sys=ss(AA,eye(4),eye(4),eye(4));

t=0:0.01:3;

x=initial(sys,[1;0;1;0],t);

x1=[1

0

0

0]*x

;

x2=[0

1

0

0]*x

;

e1=[0

0

1

0]*x

;

e2=[0

0

0

1]*x

;

subplot(2,2,1);plot(t,x1),grid

title(

Response

to

Initial

Condition

)

ylabel(

x1

)

subplot(2,2,2);plot(t,x2),grid

title(

Response

to

Initial

Condition

)

ylabel(

x2

)

subplot(2,2,3);plot(t,e1),grid

title(

Response

to

Initial

Condition

)

ylabel(

e1

)

subplot(2,2,4);plot(t,e2),grid

title(

Response

to

Initial

Condition

)

ylabel(

e2

)

xlabel(

t

(sec)

)

或:

A=[0

1;0

-2];

B=[0;1];

C=[4

0];

D=0;

K=[16

2];

L=[3.5;9];

AA=[A-B*K

B*K;zeros(2,2)

A-L*C];

sys=ss(AA,[0;1;0;0],[1

1

1

1],D);

t=0:0.01:3;

u=0;

[y,t,x]=initial(sys,[1;0;1;0],t);

subplot(2,2,1);plot(t,x(:,1)),grid

title(

Response

to

Initial

Condition

)

ylabel(

x1

)

subplot(2,2,2);plot(t,x(:,2)),grid

title(

Response

to

Initial

Condition

)

ylabel(

x2

)

subplot(2,2,3);plot(t,x(:,3)),grid

title(

Response

to

Initial

Condition

)

ylabel(

e1

)

subplot(2,2,4);plot(t,x(:,4)),grid

title(

Response

to

Initial

Condition

)

ylabel(

e2

)

xlabel(

t

(sec)

)

结果:

TAG标签: