线性定常系统地能控性和能观测性.docx

上传人:b****0 文档编号:17447851 上传时间:2023-07-25 格式:DOCX 页数:26 大小:424.43KB
下载 相关 举报
线性定常系统地能控性和能观测性.docx_第1页
第1页 / 共26页
线性定常系统地能控性和能观测性.docx_第2页
第2页 / 共26页
线性定常系统地能控性和能观测性.docx_第3页
第3页 / 共26页
线性定常系统地能控性和能观测性.docx_第4页
第4页 / 共26页
线性定常系统地能控性和能观测性.docx_第5页
第5页 / 共26页
线性定常系统地能控性和能观测性.docx_第6页
第6页 / 共26页
线性定常系统地能控性和能观测性.docx_第7页
第7页 / 共26页
线性定常系统地能控性和能观测性.docx_第8页
第8页 / 共26页
线性定常系统地能控性和能观测性.docx_第9页
第9页 / 共26页
线性定常系统地能控性和能观测性.docx_第10页
第10页 / 共26页
线性定常系统地能控性和能观测性.docx_第11页
第11页 / 共26页
线性定常系统地能控性和能观测性.docx_第12页
第12页 / 共26页
线性定常系统地能控性和能观测性.docx_第13页
第13页 / 共26页
线性定常系统地能控性和能观测性.docx_第14页
第14页 / 共26页
线性定常系统地能控性和能观测性.docx_第15页
第15页 / 共26页
线性定常系统地能控性和能观测性.docx_第16页
第16页 / 共26页
线性定常系统地能控性和能观测性.docx_第17页
第17页 / 共26页
线性定常系统地能控性和能观测性.docx_第18页
第18页 / 共26页
线性定常系统地能控性和能观测性.docx_第19页
第19页 / 共26页
线性定常系统地能控性和能观测性.docx_第20页
第20页 / 共26页
亲,该文档总共26页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

线性定常系统地能控性和能观测性.docx

《线性定常系统地能控性和能观测性.docx》由会员分享,可在线阅读,更多相关《线性定常系统地能控性和能观测性.docx(26页珍藏版)》请在冰点文库上搜索。

线性定常系统地能控性和能观测性.docx

线性定常系统地能控性和能观测性

 

线性定常系统的能控性和能观测性

一、实验设备

PC计算机,MATLAB软件,控制理论实验台。

二、实验目的

(1)学习系统状态能控性、能观测性的定义及判别方法;

(2)通过用MATLAB编程、上机调试,掌握系统能控性、能观测性的判别方法,掌握将一般形式的状态空间描述变换成能控标准形、能观标准形。

(3)掌握能控性和能观测性的概念。

学会用MATLAB判断能控性和能观测性。

(4)掌握系统的结构分解。

学会用MATLAB进行结构分解。

(5)掌握最小实现的概念。

学会用MATLAB求最小实现

三、实验原理

(1)参考教材P117~118“4.2.4利用MATLAB判定系统能控性”

P124~125“4.3.3利用MATLAB判定系统能观测性”

(2)MATLAB现代控制理论仿真实验基础

(3)控制理论实验台使用指导

四、实验内容

(1)已知系统状态空间描述如下

(1)判断系统状态的能控性和能观测性,以及系统输出的能控性。

说明状态能控性和输出能控性之间有无联系。

代码:

A=[02-1;512;-200];

B=[1;0;-1];

C=[1,1,0];

D=[0];

Uc=[B,A*B,A^2*B,A^3*B];

rank(Uc)%能控性判断

Uo=[C,C*A,C*A^2,C*A^3];

rank(Uo)%判断能观性

Uco=[C*B,C*A*B,C*A^2*B,C*A^3*B];

rank(Uco)%判断输出能控性

(2)令系统的初始状态为零,系统的输入分别为单位阶跃函数和单位脉冲函数。

用MATLAB函数计算系统的状态响应和输出响应,并绘制相应的响应曲线。

观察和记录这些曲线。

当输入改变时,每个状态变量的响应曲线是否随着改变?

能否根据这些曲线判断系统状态的能控性?

单位阶跃输入:

代码:

A=[0,2,-1;5,1,2;-2,0,0];

B=[1;0;-1];

C=[1,1,0];

D=[0];

Uc=[B,A*B,A^2*B,A^3*B];

rank(Uc)%判断状态能控性

Uo=[C,C*A,C*A^2,C*A^3];

rank(Uo)%判断能观性

Uco=[C*B,C*A*B,C*A^2*B,C*A^3*B];

rank(Uco)%判断输出能控

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

t=[0:

.04:

2];

[y,t,x]=step(G,t);%单位阶跃输入

plot(t,x,'b',t,y,'m')%状态及输出响应曲线

legend('originaltargetpositions','originaltargetpositions','X','Y')

 

单位脉冲输入:

代码:

A=[0,2,-1;5,1,2;-2,0,0];

B=[1;0;-1];

C=[1,1,0];

D=[0];

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

t=[0:

.04:

2];

[y,t,x]=impulse(G,t)%单位脉冲输入

plot(t,x,'b',t,y,'m')%状态及输出响应曲线

legend('originaltargetpositions','originaltargetpositions','X','Y')

 

当输入改变时,每个状态变量的响应曲线并没有随着改变。

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

为何?

代码:

A=[0,2,-1;5,1,2;-2,0,0];

B=[1;0;-1];

C=[1,1,0];

D=[0];

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

G1=canon(G,'model')

A1=[-3.89,0,0;0,3.574,0;0,0,0.8234];

B1=[0.389;-0.7421;-0.6574];

C1=[-0.2313,-1.37,-0.1116];

D1=[0];

Uc=[B,A*B,A^2*B,A^3*B];

rank(Uc)%判断状态能控性

Uo=[C,C*A,C*A^2,C*A^3];

rank(Uo)%判断能观性

 

系统的能控性和能观测性,与1)的结果是一致的

(4)令3)中系统的初始状态为零,输入分别为单位阶跃函数和单位脉冲函数。

用MATLAB函数计算系统的状态响应和输出响应,并绘制响应的曲线。

观察和记录这些曲线。

当输入改变时,每个状态变量曲线是否随着改变?

能否根据这些曲线判断系统以及各状态变量的能控性?

不能控和能控状态变量的响应曲线有何不同?

单位阶跃输入:

代码:

A=[0,2,-1;5,1,2;-2,0,0];

B=[1;0;-1];

C=[1,1,0];

D=[0];

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

t=[0:

.04:

3];

[y,t,x]=step(G1,t)%单位脉冲输入

plot(t,x,'b',t,y,'m')%状态及输出响应曲线

legend('originaltargetpositions','originaltargetpositions','X','Y')

 

单位脉冲输入:

A=[0,2,-1;5,1,2;-2,0,0];

B=[1;0;-1];

C=[1,1,0];

D=[0];

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

G1=canon(G,'model')

t=[0:

.04:

2];

[y,t,x]=impulse(G,t)%单位脉冲输入

plot(t,x,'b',t,y,'m')%状态及输出响应曲线

legend('originaltargetpositions','originaltargetpositions','X','Y')

 

输入改变时,每个状态变量曲线并没有随着改变。

 

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

答:

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

(1)已知如下和所描述的系统

已知系统

(1)将给定的状态空间模型转换为传递函数模型。

令初始状态为零,用MATLAB计算系统的单位阶跃输出响应,绘制和记录相应的曲线。

代码:

A=[-3-4;-20];B=[5;1];C=[-1-1];D=[0];

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

G1=tf(G)

t=[0:

.04:

5];

[y,t,x]=step(G,t)%单位阶跃输入

plot(t,x,'b',t,y,'m')%状态及输出响应曲线

legend('originaltargetpositions','originaltargetpositions','X','Y')

 

 

代码:

A=[-1000;0-300;00-20;000-5];

B=[2;1;0;0];

C=[1010];

D=[0];

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

G1=tf(G)

t=[0:

.04:

5];

[y,t,x]=step(G,t);%单位阶跃输入

plot(t,x,'b',t,y,'m')%状态及输出响应曲线

legend('originaltargetpositions','originaltargetpositions','originaltargetpositions','X','Y')

 

(2)按能控性分解给定的状态空间模型并记录所得的结果,然后再将其转换为传递函数模型。

它与1)中所得的传递函数模型是否一致?

为什么?

令初始状态为零,用MATLAB计算系统的单位阶跃输出响应,并绘制和记录相应曲线。

这一曲线与1)中的输出曲线是否一致?

为什么?

A=[-3-4;-20];B=[5;1];C=[-1-1];D=[0];

[AcBcCcTcKc]=ctrbf(A,B,C);

G=ss(Ac,Bc,Cc,0);

G1=tf(G)

t=[0:

.04:

5];

[y,t,x]=step(G,t);%单位阶跃输入

plot(t,x,'b',t,y,'m')%状态及输出响应曲线

legend('originaltargetpositions','X','Y')

按能控性分解给定的状态空间模型并记录所得的结果,然后再将其转换为传递函数模型,它与1)中所得的传递函数模型一致的。

令初始状态为零,用MATLAB计算系统的单位阶跃输出响应,并绘制和记录相应曲线这一曲线与1)中的输出曲线是一致的。

 

代码:

A=[-1000;0-300;00-20;000-5];

B=[2;1;0;0];

C=[1010];

D=[0];

[AcBcCcTcKc]=ctrbf(A,B,C);

G=ss(Ac,Bc,Cc,0);

G1=tf(G)

t=[0:

.04:

5];

[y,t,x]=step(G,t);%单位阶跃输入

plot(t,x,'b',t,y,'m')%状态及输出响应曲线

legend('originaltargetpositions','originaltargetpositions','originaltargetpositions','X','Y')

按能控性分解给定的状态空间模型并记录所得的结果,然后再将其转换为传递函数模型,它与1)中所得的传递函数模型是不一致的。

令初始状态为零,用MATLAB计算系统的单位阶跃输出响应,并绘制和记录相应曲线这一曲线与1)中的输出曲线是不一致的。

(3)按能观测性分解给定的状态空间模型并记录分解所得的结果,然后再将其转换为传递函数模型。

它与1)中的传递函数模型是否一致?

为何?

令初始状态为零,用MATLAB计算系统的单位阶跃输出响应,并绘制和记录相应曲线。

这一曲线与1)中的输出曲线是否一致?

A=[-3-4;-20];B=[5;1];C=[-1-1];D=[0];

[AoBoCoToKo]=obsvf(A,B,C);

G=ss(Ao,Bo,Co,0);

G1=tf(G)

t=[0:

.04:

5];

[y,t,x]=step(G,t)%单位阶跃输入

plot(t,x,'b',t,y,'m')%状态及输出响应曲线

legend('originaltargetpositions','originaltargetpositions','originaltargetpositions','X','Y')

 

按能观测性分解给定的状态空间模型并记录所得的结果,然后再将其转换为传递函数模型,它与1)中所得的传递函数模型一致的。

令初始状态为零,用MATLAB计算系统的单位阶跃输出响应,并绘制和记录相应曲线这一曲线与1)中的输出曲线是不一致的。

 

代码:

A=[-1000;0-300;00-20;000-5];

B=[2;1;0;0];

C=[1010];

D=[0];[AoBoCoToKo]=obsvf(A,B,C);

G=ss(Ao,Bo,Co,0);

G1=tf(G)

t=[0:

.04:

5];

[y,t,x]=step(G,t)%单位阶跃输入

plot(t,x,'b',t,y,'m')%状态及输出响应曲线

legend('originaltargetpositions','originaltargetpositions','originaltargetpositions','X','Y')

 

按能观测性分解给定的状态空间模型并记录所得的结果,然后再将其转换为传递函数模型,它与1)中所得的传递函数模型不一致的。

令初始状态为零,用MATLAB计算系统的单位阶跃输出响应,并绘制和记录相应曲线这一曲线与1)中的输出曲线是不一致的。

4)按能控性能观测性分解给定的状态空间模型并记录分解所得的结果,然后再将其转换为传递函数模型。

它与1)中的传递函数模型是否一致?

为何?

令初始状态为零,用MATLAB计算系统的单位阶跃输出响应,并绘制和记录相应的曲线。

这一曲线与1)中的输出曲线是

否一致?

为什么?

代码:

A=[-3-4;-20];B=[5;1];C=[-1-1];D=[0];

[AkBkCkTk]=kalmdec(A,B,C);

G=ss(Ak,Bk,Ck,0);

G1=tf(G)

t=[0:

.04:

5];

[y,t,x]=step(G,t)%单位阶跃输入

plot(t,x,'b',t,y,'m')%状态及输出响应曲线

legend('originaltargetpositions','X','Y')

 

按能控性能观测性分解给定的状态空间模型并记录所得的结果,然后再将其转换为传递函数模型,它与1)中所得的传递函数模型是一致的。

令初始状态为零,用MATLAB计算系统的单位阶跃输出响应,并绘制和记录相应曲线这一曲线与1)中的输出曲线是不一致的。

 

代码:

A=[-1000;0-300;00-20;000-5];

B=[2;1;0;0];

C=[1010];

D=[0];

[AkBkCkTk]=kalmdec(A,B,C);

G=ss(Ak,Bk,Ck,0);

G1=tf(G)

[y,t,x]=step(G,t)%单位阶跃输入

plot(t,x,'b',t,y,'m')%状态及输出响应曲线

legend('originaltargetpositions','X','Y')

按能观测性分解给定的状态空间模型并记录所得的结果,然后再将其转换为传递函数模型,它与1)中所得的传递函数模型不一致的。

令初始状态为零,用MATLAB计算系统的单位阶跃输出响应,并绘制和记录相应曲线这一曲线与1)中的输出曲线是一致的。

(3)已知系统

 

1)求最小实现(用函数minreal()。

(a)

代码:

A=[-1,0,0,0;0,-3,0,0;0,0,-2,0;0,0,0,-4];

B=[2;1;0;0];

C=[1,0,1,0];

D=0;

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

Gm=minreal(G)

 

(b)

num=[1,1];

den=[1,6,11,6];

G=tf(num,den);

G1=ss(G)

Gm=minreal(G1)

2)判断所得系统的能控性和能观测性

(a)

代码:

A=[-1,0,0,0;0,-3,0,0;0,0,-2,0;0,0,0,-4];B=[2;1;0;0];C=[1,0,1,0];D=0;

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

Gm=minreal(G)

Uc=[B,A*B,A^2*B,A^3*B];

rank(Uc)%判断能控性

Uo=[C,C*A,C*A^2,C*A^3];

rank(Uo)%判断能观性

(b)

代码:

num=[1,1];

den=[1,6,11,6];

G=tf(num,den);

G1=ss(G)

Gm=minreal(G1)

A=[-6-2.75-1.5;400;010];

B=[0.5;0;0];

C=[000.5];

D=0;

Uc=[B,A*B,A^2*B,A^3*B];

rank(Uc)%判断能控性

Uo=[C,C*A,C*A^2,C*A^3];

rank(Uo)%判断能观性

3)求得的结果是否是最小实现?

答:

求得的结果是最小实现

5、实验心得

本次试验是研究线性定常系统的能控性和能观测性。

通过本次实验学习了解到系统状态能控性、能观测性的定义及判别方法;通过用MATLAB编程、上机调试,掌握系统能控性、能观测性的判别方法,学习到将一般形式的状态空间描述变换成能控标准形、能观标准形,以及再能控性和能观测性的概念,如何用MATLAB判断能控性和能观测性。

并且了解系统的结构分解,学会用MATLAB进行结构分解。

并且再了解最小实现的概念后学会用MATLAB求最小实现。

 

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2