视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
现代控制理论实验报告
2025-10-02 15:31:20 责编:小OO
文档
河南工业大学

  现代控制理论实验报告

*    ** * *                           

班    级: 自动F1205                            

学    号: ************                           

现代控制理论          实验报告

     专业:    自动化     班级:      F1205        姓名:    刘跃                            

     学号: ************  完成日期: 2014.12.17   成绩评定:             

一、实验题目:

            线性系统状态空间表达式的建立以及线性变换 

二、实验目的

1. 掌握线性定常系统的状态空间表达式。学会在MATLAB中建立状态空间模型的方法。

2. 掌握传递函数与状态空间表达式之间相互转换的方法。学会用MATLAB实现不同模型之间的相互转换。

3. 熟悉系统的连接。学会用MATLAB确定整个系统的状态空间表达式和传递函数。

4. 掌握状态空间表达式的相似变换。掌握将状态空间表达式转换为对角标准型、约当标准型、能控标准型和能观测标准型的方法。学会用MATLAB进行线性变换。

三、实验仪器

PC机

Matlab7.0软件

四、实验内容

(a)   

(b)    

(c)               

(d)     

(1)建立给定系统的状态空间模型。用函数eig( ) 求出系统特征值。用函数tf( ) 和zpk( )将这些状态空间表达式转换为传递函数,记录得到的传递函数和它的零极点。比较系统的特征值和极点是否一致,为什么?

(2)用函数canon( )将给定状态空间表达式转换为对角标准型。用函数eig( )求出系统特征值。比较这些特征值和(1)中的特征值是否一致,为什么? 再用函数tf( )和zpk( )将对角标准型或约当标准型转换为传递函数。比较这些传递函数和(1)中的传递函数是否一致,为什么?

(3)用函数ctrlss( )将给定的状态空间表达式转换为能控标准型和能观测标准型。用函数eig( )求系统的特征值。比较这些特征值和(1)中的特征值是否一致,为什么?再用函数tf( )将它们转换为传递函数。比较这些传递函数和(1)中的传递函数是否一致,为什么?

五、实验步骤

(a)  

1.1建立给定系统的状态空间模型。用函数eig( ) 求出系统特征值。

>> A=[0 1;-5 -6];B=[0;1];C=[1 1];D=0;G=ss(A,B,C,D)

a = 

       x1  x2

   x1   0   1

   x2  -5  -6

b = 

       u1

   x1   0

   x2   1 

c = 

       x1  x2

   y1   1   1

 

d = 

       u1

   y1   0

>> eig(A)

ans =

    -1

-5

1.2用函数tf( ) 和zpk( )将这些状态空间表达式转换为传递函数,记录得到的传递函数和它的零极点。1.3比较系统的特征值和极点是否一致,为什么?

>> G1=tf(G)

Transfer function:

    s + 1

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

s^2 + 6 s + 5

>> G2=zpk(G)

 

Zero/pole/gain:

   (s+1)

-----------

(s+1) (s+5)

可以看出系统特征值和极点一致。经典控制理论传递函数的极点和现代控制理论系统矩阵的特征值都是系统固有特征值,其实质上是一样的,只是系统的表述方式不一样。

2.1用函数canon( )将给定状态空间表达式转换为对角标准型。用函数eig( )求出系统特征值。比较这些特征值和(1)中的特征值是否一致,为什么?

>> G3=canon(G,'modal')

a = 

       x1  x2

   x1  -1   0

   x2   0  -5 

b = 

           u1

   x1  0.3536

   x2   1.275 

c = 

           x1      x2

   y1       0  0.7845 

d = 

       u1

   y1   0

>> eig(G3)

ans =

    -5

-1

这些特征值和(1)中的一样,因为其实质上是一样的,只是系统的表述方式不一样。

2.2再用函数tf( )和zpk( )将对角标准型或约当标准型转换为传递函数。比较这些传递函数和(1)中的传递函数是否一致,为什么?

>> G4=tf(G3)

Transfer function:

  1

-----

s + 5 

>> G5=zpk(G3)

Zero/pole/gain:

  1

-----

(s+5)    

比较可以看出这两个传函出现零极点对消。

3.1 用函数ctrlss( )将给定的状态空间表达式转换为能控标准型和能观测标准型。用函数eig( )求系统的特征值。比较这些特征值和(1)中的特征值是否一致,为什么?

能控标准型:

>> num=[1 1];den=[1 6 5 ];Gc=ctrlts(num,den)

a = 

       x1  x2

   x1   0   1

   x2  -5  -6

b = 

       u1

   x1   0

   x2   1

c = 

       x1  x2

   y1   1   1

d = 

       u1

   y1   0

能观测标准型:

>> Ao=(Gc.a)';Bo=(Gc.c)';Co=(Gc.b)';Do=Gc.d;Go=ss(Ao,Bo,Co,Do)

a = 

       x1  x2

   x1   0  -5

   x2   1  -6 

b = 

       u1

   x1   1

   x2   1

c = 

       x1  x2

   y1   0   1

d = 

       u1

   y1   0

特征值:

>> eig(Gc)

ans =

    -1

    -5

>> eig(Go)

ans =

    -1

    -5

可以看出这些特征值和(1)中一样,因为其实质上是一样的,只是系统的表述方式不一样。

3.2 再用函数tf( )将它们转换为传递函数。比较这些传递函数和(1)中的传递函数是否一致,为什么?

>> G6=tf(Gc)

Transfer function:

    s + 1

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

s^2 + 6 s + 5

 

>> G7=tf(Go)

Transfer function:

    s + 1

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

s^2 + 6 s + 5

这些传函和(1)中一样,因为其实质上是一样的,只是系统的表述方式不一样。

(b)   

1.1建立给定系统的状态空间模型。用函数eig( ) 求出系统特征值。

>> A=[0 1 0;3 0 2;-12 -7 -6];B=[2 1 7 ]';C=[1 1 1 ];D=0;G=ss(A,B,C,D)

a = 

        x1   x2   x3

   x1    0    1    0

   x2    3    0    2

   x3  -12   -7   -6 

b = 

       u1

   x1   2

   x2   1

   x3   7

c = 

       x1  x2  x3

   y1   1   1   1

d = 

       u1

   y1   0

>> eig(G)

ans =

   -1.0000

   -2.0000

   -3.0000

1.2用函数tf( ) 和zpk( )将这些状态空间表达式转换为传递函数,记录得到的传递函数和它的零极点。比较系统的特征值和极点是否一致,为什么?

>> G1=tf(G)

Transfer function:

  10 s^2 + 8 s - 39

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

s^3 + 6 s^2 + 11 s + 6 

>> G2=zpk(G)

Zero/pole/gain:

10 (s+2.415) (s-1.615)

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

  (s+1) (s+2) (s+3)

可以看出系统特征值和极点一致。经典控制理论传递函数的极点和现代控制理论系统矩阵的特征值都是系统固有特征值,其实质上是一样的,只是系统的表述方式不一样。

 

2.1用函数canon( )将给定状态空间表达式转换为对角标准型。用函数eig( )求出系统特征值。比较这些特征值和(1)中的特征值是否一致,为什么?

>> [G3,P]=canon(G,'modal')

a = 

       x1  x2  x3

   x1  -1   0   0

   x2   0  -2   0

   x3   0   0  -3

b = 

           u1

   x1  -32.04

   x2   68.74

   x3   58.85 

c = 

           x1      x2      x3

   y1  0.5774  0.2182  0.2294

d = 

       u1

   y1   0

P =

   -7.7942   -4.3301   -1.7321

   13.7477    9.1652    4.5826

   10.72    6.5383    4.35

>> eig(G3)

ans =

   -3.0000

   -2.0000

   -1.0000

2.2再用函数tf( )和zpk( )将对角标准型或约当标准型转换为传递函数。

>> G4=tf(G3)

Transfer function:

  10 s^2 + 8 s - 39

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

s^3 + 6 s^2 + 11 s + 6

>> G5=zpk(G3)

Zero/pole/gain:

10 (s+2.415) (s-1.615)

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

  (s+3) (s+2) (s+1)

 3.1 用函数ctrlss( )将给定的状态空间表达式转换为能控标准型和能观测标准型。用函数eig( )求系统的特征值。

>> num=[10 8 -39];den=[1 6 11 6];Gc=ctrlts(num,den)

a =      x1   x2   x3

   x1    0    1    0

   x2    0    0    1

   x3   -6  -11   -6

b = 

       u1

   x1   0

   x2   0

   x3   1

c = 

        x1   x2   x3

   y1  -39    8   10 

d = 

       u1

   y1   0

>> Ao=(Gc.a)';Bo=(Gc.c)';Co=(Gc.b)';Do=Gc.d;Go=ss(Ao,Bo,Co,Do)

a =      x1   x2   x3

   x1    0    0   -6

   x2    1    0  -11

   x3    0    1   -6 

b = 

        u1

   x1  -39

   x2    8

   x3   10 

c = 

       x1  x2  x3

   y1   0   0   1

d = 

       u1

   y1   0

>> eig(Gc)

ans =

   -1.0000

   -2.0000

   -3.0000

>> eig(Go)

ans =

   -1.0000

   -2.0000

   -3.0000

3.2 再用函数tf( )将它们转换为传递函数。比较这些传递函数和(1)中的传递函数是否一致,为什么?

>> G5=tf(Gc)

Transfer function:

  10 s^2 + 8 s - 39

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

s^3 + 6 s^2 + 11 s + 6

>> G6=tf(Go)

Transfer function:

  10 s^2 + 8 s - 39

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

s^3 + 6 s^2 + 11 s + 6

这些传函和(1)中一样,因为其实质上是一样的,只是系统的表述方式不一样。

(c)    

1.1建立给定系统的状态空间模型。用函数eig( ) 求出系统特征值。

>> A=[4 1 -2;1 0 2;1 -1 3];B=[3 1;2 7;5 3];C=[1 0 1];D=0;G=ss(A,B,C,D)

a = 

       x1  x2  x3

   x1   4   1  -2

   x2   1   0   2

   x3   1  -1   3

b = 

       u1  u2

   x1   3   1

   x2   2   7

   x3   5   3 

c = 

       x1  x2  x3

   y1   1   0   1 

d = 

       u1  u2

   y1   0   0

>> eig(G)

ans =

    3.0000

    3.0000

1.0000

1.2用函数tf( ) 和zpk( )将这些状态空间表达式转换为传递函数,记录得到的传递函数和它的零极点。

>> G1=tf(G)

Transfer function from input 1 to output:

  8 s^2 - 36 s + 16

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

s^3 - 7 s^2 + 15 s - 9

Transfer function from input 2 to output:

  4 s^2 - 20 s + 32

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

s^3 - 7 s^2 + 15 s - 9 

>> G2=zpk(G)

Zero/pole/gain from input 1 to output:

8 (s-0.5) (s-4)

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

 (s-3)^2 (s-1) 

Zero/pole/gain from input 2 to output:

4 (s^2  - 5s + 8)

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

  (s-3)^2 (s-1)

2.1用函数canon( )将给定状态空间表达式转换为对角标准型。用函数eig( )求出系统特征值。

>> G3=canon(G,'modal')

a = 

       x1  x2  x3

   x1   3   0   0

   x2   0   3   0

   x3   0   0   1

b = 

                u1           u2

   x1  -1.995e+008   7.981e+007

   x2   1.995e+008  -7.981e+007

   x3        6.708       -8.944 

c = 

            x1       x2       x3

   y1   -1.155   -1.155  -0.4472 

d = 

       u1  u2

   y1   0   0

>> eig(G3)

ans =

    1.0000

    3.0000

    3.0000

2.2再用函数tf( )和zpk( )将对角标准型或约当标准型转换为传递函数。

>> G4=tf(G3)

Transfer function from input 1 to output:

  8 s^2 - 36 s + 16

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

s^3 - 7 s^2 + 15 s - 9 

Transfer function from input 2 to output:

  4 s^2 - 20 s + 32

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

s^3 - 7 s^2 + 15 s - 9 

>> G5=zpk(G3)

Zero/pole/gain from input 1 to output:

8 (s-4) (s-0.5)

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

 (s-1) (s-3)^2 

Zero/pole/gain from input 2 to output:

4 (s^2  - 5s + 8)

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

  (s-1) (s-3)^2

3.1 用函数ctrlss( )将给定的状态空间表达式转换为能控标准型和能观测标准型。用函数eig( )求系统的特征值。

能控标准型:

>> num1=[8 -36 16];den1=[1 -7 15 -9];Gc1=ctrlts(num1,den1)

a = 

        x1   x2   x3

   x1    0    1    0

   x2    0    0    1

   x3    9  -15    7

b = 

       u1

   x1   0

   x2   0

   x3   1 

c = 

        x1   x2   x3

   y1   16  -36    8

d = 

       u1

   y1   0

>> num2=[4 -20 32];den2=[1 -7 15 -9];Gc2=ctrlts(num2,den2)

a = 

        x1   x2   x3

   x1    0    1    0

   x2    0    0    1

   x3    9  -15    7

b = 

       u1

   x1   0

   x2   0

   x3   1

c = 

        x1   x2   x3

   y1   32  -20    4

d = 

       u1

   y1   0

能观测标准型:

>> Ao1=(Gc1.a)';Bo1=(Gc1.c)';Co1=(Gc1.b)';Do1=Gc1.d;Go1=ss(Ao1,Bo1,Co1,Do1)

a = 

        x1   x2   x3

   x1    0    0    9

   x2    1    0  -15

   x3    0    1    7 

b = 

   x1   16

   x3    8 

c = 

   y1   0   0   1

d = 

   y1   0 

>> Ao2=(Gc2.a)';Bo2=(Gc2.c)';Co2=(Gc2.b)';Do2=Gc2.d;Go2=ss(Ao2,Bo2,Co2,Do2)

a = 

        x1   x2   x3

   x1    0    0    9

   x2    1    0  -15

   x3    0    1    7 

b = 

   x1   32

   x3    4 

c = 

   y1   0   0   1 

d = 

   y1   0

>> eig(Gc1)

ans =

>> eig(Gc2)

ans =

>> eig(Go1)

ans =

>> eig(Go2)

ans =

3.0000

3.2 再用函数tf( )将它们转换为传递函数。比较这些传递函数和(1)中的传递函数是否一致,为什么?

>> G6=tf(Gc1)

Transfer function:

  8 s^2 - 36 s + 16

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

s^3 - 7 s^2 + 15 s - 9

>> G7=tf(Gc2)

Transfer function:

  4 s^2 - 20 s + 32

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

s^3 - 7 s^2 + 15 s - 9

 

>> G8=tf(Go1)

Transfer function:

  8 s^2 - 36 s + 16

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

s^3 - 7 s^2 + 15 s - 9 

>> G9=tf(Go2)

Transfer function:

  4 s^2 - 20 s + 32

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

s^3 - 7 s^2 + 15 s - 9

这些传函和(1)中一样,因为其实质上是一样的,只是系统的表述方式不一样。

(d)    

1.1建立给定系统的状态空间模型。用函数eig( ) 求出系统特征值。

>> A=[0 0 -1;1 0 -3;0 1 -3];B=[1 1 0]';C=[0 1 -2];D=0;G=ss(A,B,C,D)

a =     x1  x2  x3

   x1   0   0  -1

   x2   1   0  -3

   x3   0   1  -3

b = 

       u1

   x1   1

   x2   1

   x3   0

c = 

       x1  x2  x3

   y1   0   1  -2

d = 

       u1

   y1   0

>> eig(G)

ans =

  -1.0000          

  -1.0000 + 0.0000i

  -1.0000 - 0.0000i

1.2用函数tf( ) 和zpk( )将这些状态空间表达式转换为传递函数,记录得到的传递函数和它的零极点。

>> G1=tf(G)

Transfer function:

    s^2 + 2 s + 1

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

s^3 + 3 s^2 + 3 s + 1 

>> G2=zpk(G)

Zero/pole/gain:

(s+1)^2

-------

(s+1)^3

2.1用函数canon( )将给定状态空间表达式转换为对角标准型。用函数eig( )求出系统特征值。

>> G3=canon(G,'modal')

a = 

                x1           x2           x3

   x1           -1            0            0

   x2            0           -1   5.875e-006

   x3            0  -5.875e-006           -1 

b = 

                u1

   x1   1.204e+005

   x2  -1.204e+005

   x3   2.085e+005

c = 

                x1           x2           x3

   y1    2.77e-006  -1.385e-006   2.399e-006

d = 

       u1

   y1   0

2.2再用函数tf( )和zpk( )将对角标准型或约当标准型转换为传递函数。

>> G4=tf(G)

 

Transfer function:

    s^2 + 2 s + 1

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

s^3 + 3 s^2 + 3 s + 1

 

>> G5=zpk(G)

 

Zero/pole/gain:

(s+1)^2

-------

(s+1)^3

3.1 用函数ctrlss( )将给定的状态空间表达式转换为能控标准型和能观测标准型。用函数eig( )求系统的特征值。

能控标准型:

>> num=[1 2 1];den=[1 3 3 1];Gc=ctrlts(num,den)

a = 

       x1  x2  x3

   x1   0   1   0

   x2   0   0   1

   x3  -1  -3  -3

b = 

       u1

   x1   0

   x2   0

   x3   1

c = 

       x1  x2  x3

   y1   1   2   1 

d = 

       u1

   y1   0

能观测标准型:

>> Ao=(Gc.a)';Bo=(Gc.c)';Co=(Gc.b)';Do=Gc.d;Go=ss(Ao,Bo,Co,Do)

a = 

       x1  x2  x3

   x1   0   0  -1

   x2   1   0  -3

   x3   0   1  -3

b = 

       u1

   x1   1

   x2   2

   x3   1 

c = 

       x1  x2  x3

   y1   0   0   1 

d = 

       u1

   y1   0

>> eig(Gc)

ans =

  -1.0000 + 0.0000i

  -1.0000 - 0.0000i

  -1.0000          

>> eig(Go)

ans =

  -1.0000          

  -1.0000 + 0.0000i

  -1.0000 - 0.0000i

现代控制理论          实验报告

     专业:    自动化     班级:     F1205         姓名:    刘跃                            

     学号: 201223910827  完成日期: 2014.12.17   成绩评定:             

一、实验题目:

           线性系统可控、可观测性判断

二、实验目的

1. 掌握能控性和能观测性的概念。学会用MATLAB判断能控性和能观测性。

2. 掌握系统的结构分解。学会用MATLAB进行结构分解。

3. 掌握最小实现的概念。学会用MATLAB求最小实现。

三、实验仪器

PC机

Matlab7.0软件

四、实验过程及结果

     已知系统

                                   

(1)判断系统状态的能控性和能观测性,以及系统输出的能控性。说明状态能              控性和输出能控性之间有无联系。

状态能控性:

>> A=[-3 -4;-1 0];B=[4;1];C=[-1 -1];D=0;Uc=ctrb(A,B);rank(Uc)

ans =

     1

因为rank(Uc)=1n,所以系统的状态不完全能控。

状态能观测性:

>> Vo=obsv(A,C);rank(Vo)

ans =

     1

因为rank(Vo)=1n,所以系统的状态不完全能控。

输出的能控性:

>> Uy=[C*Uc D];rank(Uy)

ans =

     1

因为rank(Uy)=1=m,故系统是输出能控的。

由此可以看出状态能控性和输出能控性之间没有具体联系。

(2)令系统的初始状态为零,系统的输入分别为单位阶跃函数和单位脉冲函数。用MATLAB函数计算系统的状态响应和输出响应,并绘制相应的响应曲线。观察和记录这些曲线。当输入改变时, 每个状态变量的响应曲线是否随着改变?能否根据这些曲线判断系统状态的能控性?

单位阶跃函数输入:

 A=[-3 -4;-1 0];B=[4;1];C=[-1 -1];D=0;G=ss(A,B,C,D);step(G)

图3.1单位阶跃响应曲线

A=[-3 -4;-1 0];B=[4;1];C=[-1 -1];D=0;G=ss(A,B,C,D);t=0:0.5:10;figure('pos',[50 50 200 150],'color','w')

>> u=ones(size(t));

[yu,t,xu]=lsim(G,u,t);

plot(t,xu,':',t,yu,'-')

图3.2单位阶跃状态和输出响应曲线

单位脉冲输入:

>>A=[-3 -4;-1 0];B=[4;1];C=[-1 -1];D=0;G=ss(A,B,C,D); impulse(G)

图3.3单位脉冲响应曲线

(3) 将给定的状态空间表达式变换为对角标准型,判断系统的能控性和能观测性,与(1)的结果是否一致?为何?

>> G1=canon(G,'modal')

a = 

   x1  -1   0

   x2   0  -5

b = 

   x2   2.55

c = 

         x1       x2

   y1  -0.7071    1.765

d = 

   y1   0

>> Uc=ctrb(A,B);rank(Uc)

ans =

因为rank(Uc)=1n,所以系统的状态不完全能控。

>> Vo=obsv(A,C);rank(Vo)

ans =

因为rank(Vo)=1n,故系统是输出不完全能观测。

与(1)中的结果一致,因为其实质上是一样的,只是系统的表述方式不一样。

(4)令(3)中系统的初始状态为零, 输入分别为单位阶跃函数和单位脉冲函数。用MATLAB函数计算系统的状态响应和输出响应,并绘制响应的曲线。观察和记录这些曲线。当输入改变时, 每个状态变量曲线是否随着改变?能否根据这些曲线判断系统以及各状态变量的能控性?不能控和能控状态变量的响应曲线有何不同?

A=[-3 -4;-1 0];B=[4;1];C=[-1 -1];D=0;G=ss(A,B,C,D);G1=canon(G,'modal');step(G1)

图3.4对角标准型单位阶跃响应曲线

>>A=[-3-4;-10];B=[4;1];C=[-1-1];D=0;G=ss(A,B,C,D);G1=canon(G,'modal');t=0:0.5:15;

figure('pos',[50 50 200 150],'color','w')

>> u=ones(size(t));

[yu,t,xu]=lsim(G1,u,t);

plot(t,xu,':',t,yu,'-')

图3.5对角标准型单位阶跃状态和输出响应曲线

A=[-3-4;-10];B=[4;1];C=[-1-1];D=0;G=ss(A,B,C,D);G1=canon(G,'modal');

t=0:0.5:15;impulse(G1,t)

图3.6对角标准型单位脉冲响应曲线

可以根据这些曲线判断系统的及各状态的能控性。不能控状态响应曲线和能控状态响应的区别是不能控状态响应不会随输入量改变而变化。

(5)根据(2)和(4)所得曲线能否判断系统状态以及各状态变量的能观测性?

能观性表述的是输出y(t)反映状态变量x(t)的能力,与控制作用没有没有直接关系。

现代控制理论          实验报告

     专业:    自动化     班级:     F1205        姓名:    刘跃                            

     学号: 201223910827  完成日期: 2014.12.17   成绩评定:             

一、实验题目:

               状态反馈控制器设计

二、实验目的

1. 掌握状态反馈和输出反馈的概念及性质。

2. 掌握利用状态反馈进行极点配置的方法。学会用MATLAB求解状态反馈矩阵。

3. 掌握状态观测器的设计方法。学会用MATLAB设计状态观测器。

4. 熟悉分离定理,学会设计带有状态观测器的状态反馈系统。

三、实验仪器

PC机

Matlab7.0软件

四、实验过程及结果

2. 已知系统

 

 

(1)求解系统的极点。绘制系统的单位阶跃响应曲线,并确定系统的超调量和上升时间。

>> A=[0 1 0;0 0 1;0 -2 -3];B=[0 0 1]';C=[1 0 0 ];D=0;G=ss(A,B,C,D);pole(G)

ans =

     0

    -1

-2

A=[0 1 0;0 0 1;0 -2 -3];B=[0;0;1];C=[1 0 0];D=0;G=ss(A,B,C,D);step(G)

图5.1单位阶跃响应曲线

(2)求解状态反馈矩阵K,使闭环系统的极点为和。求解状态反馈系统传递函数。绘制该闭环系统的单位阶跃响应曲线,并确定系统的超调量和上升时间。与原系统比较, 性能是否改善?

>> A=[0 1 0;0 0 1;0 -2 -3];B=[0;0;1];C=[1 0 0];D=0;p=[-3 1 -1];k=acker(A,B,p)

k =

-3    -3     0

Ak=[0 1 0;0 0 1;3 1 -3];Bk=[0 ;0;1];Ck=[1 0 0];G=ss(Ak,Bk,Ck,0);Gk=tf(G)

 

Transfer function:

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

s^3 + 3 s^2 - s - 3

(3)设计一个全维观测器,使观测器的极点为-5,-5,-5。仿真状态观测器观测到的状态。

A=[0 1 0;0 0 1;0 -2 -3];B=[0;0;1];C=[1 0 0];D=0;p=[-5 -5 -5];L=(acker(A',C',p))'

>> figure('pos',[50 50 200 150],'color','w')

>> [xo,x,t]=simobsv(ss(A,B,C,0),L);plot(t,x,'-k',t,xo,':r')

图5.3全维观测器状态曲线

>> A=[-1 0 0 ;0 0 1;0 -3 1];B=[0 0 1]';Uc=ctrb(A,B);m=rank(Uc)

m =

>> K=bfjdpz(A,B,C)

Af =

    -1     0     0

     0     0    -1

     0     3     1

Bf =

Cf =

    -1     0     0

Tf =

    -1     0     0

     0     1     0

     0     0    -1

输入能配置的极点组成的向量[-2 -2]

Pc =

    -2    -2

K =

-1     1     5

已知系统的状态空间表达式为

设计一个状态观测器使其极点为-10,-10。

>> A=[-1 1;0 -2];B=[0 1]';C=[2 0];p=[-10 -10];L=(acker(A',C',p))'

L =

>> figure('pos',[50 50 200 150],'color','w')

>> [xo,x,t]=simobsv(ss(A,B,C,0),L);plot(t,x,'-k',t,xo,':r')

图5.4单位阶跃响应曲线

>> A=[-1 1;0 -2];B=[0 1]';C=[2 0];p=[-10 -10];L=[-2 20]';figure('pos',[50 50 200 150],'color','w')

>> [xo,x,t]=simobsv(ss(A,B,C,0),L);plot(t,x,'-k',t,xo,':r')

图5.5反馈矩阵响应曲线下载本文

显示全文
专题