实验八MATLAB状态空间分析知识讲解Word文件下载.docx

上传人:b****6 文档编号:8691721 上传时间:2023-05-12 格式:DOCX 页数:17 大小:140.60KB
下载 相关 举报
实验八MATLAB状态空间分析知识讲解Word文件下载.docx_第1页
第1页 / 共17页
实验八MATLAB状态空间分析知识讲解Word文件下载.docx_第2页
第2页 / 共17页
实验八MATLAB状态空间分析知识讲解Word文件下载.docx_第3页
第3页 / 共17页
实验八MATLAB状态空间分析知识讲解Word文件下载.docx_第4页
第4页 / 共17页
实验八MATLAB状态空间分析知识讲解Word文件下载.docx_第5页
第5页 / 共17页
实验八MATLAB状态空间分析知识讲解Word文件下载.docx_第6页
第6页 / 共17页
实验八MATLAB状态空间分析知识讲解Word文件下载.docx_第7页
第7页 / 共17页
实验八MATLAB状态空间分析知识讲解Word文件下载.docx_第8页
第8页 / 共17页
实验八MATLAB状态空间分析知识讲解Word文件下载.docx_第9页
第9页 / 共17页
实验八MATLAB状态空间分析知识讲解Word文件下载.docx_第10页
第10页 / 共17页
实验八MATLAB状态空间分析知识讲解Word文件下载.docx_第11页
第11页 / 共17页
实验八MATLAB状态空间分析知识讲解Word文件下载.docx_第12页
第12页 / 共17页
实验八MATLAB状态空间分析知识讲解Word文件下载.docx_第13页
第13页 / 共17页
实验八MATLAB状态空间分析知识讲解Word文件下载.docx_第14页
第14页 / 共17页
实验八MATLAB状态空间分析知识讲解Word文件下载.docx_第15页
第15页 / 共17页
实验八MATLAB状态空间分析知识讲解Word文件下载.docx_第16页
第16页 / 共17页
实验八MATLAB状态空间分析知识讲解Word文件下载.docx_第17页
第17页 / 共17页
亲,该文档总共17页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

实验八MATLAB状态空间分析知识讲解Word文件下载.docx

《实验八MATLAB状态空间分析知识讲解Word文件下载.docx》由会员分享,可在线阅读,更多相关《实验八MATLAB状态空间分析知识讲解Word文件下载.docx(17页珍藏版)》请在冰点文库上搜索。

实验八MATLAB状态空间分析知识讲解Word文件下载.docx

u1

x10

x21

c=

y150

d=

y10

Continuous-timemodel.

2、状态空间模型与传递函数模型转换

状态空间模型用sys表示,传递函数模型用G表示。

G=tf(sys)

sys=ss(G)

状态空间表达式向传递函数形式的转换

G=tf(sys)

Or[num,den]=ss2tf(A,B,C,D)多项式模型参数

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

[z,p,k]=ss2zp(A,B,C,D,iu)零、极点模型参数

iu用于指定变换所需的输入量,iu默认为单输入情况。

传递函数向状态空间表达式形式的转换

sys=ss(G)

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

[A,B,C,D]=zp2ss(z,p,k)

例8.2

试用矩阵组[a,b,c,d]表示系统,并求出传递函数。

%MATLABProgramexample6.2.m

a=[-0.560.05;

-0.250];

b=[0.031.14;

0.110];

c=[10;

01];

d=zeros(2,2);

sys=ss(a,b,c,d)

G1=tf(sys)

G2=zpk(sys)

x1-0.560.05

x2-0.250

u1u2

x10.031.14

x20.110

c=

y110

y201

d=

y100

y200

Transferfunctionfrominput1tooutput...

0.03s+0.0055

#1:

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

s^2+0.56s+0.0125

0.11s+0.0541

#2:

Transferfunctionfrominput2tooutput...

1.14s

-0.285

Zero/pole/gainfrominput1tooutput...

0.03(s+0.1833)

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

(s+0.5367)(s+0.02329)

0.11(s+0.4918)

Zero/pole/gainfrominput2tooutput...

例8.3考虑下面给定的单变量系统传递函数

由下面的MATLAB语句直接获得状态空间模型。

>

num=[172424];

den=[110355024];

G=tf(num,den);

运行后得到如下结果:

x1x2x3x4

x1-10-4.375-3.125-1.5

x28000

x30200

x40010

x12

x20

x30

x40

y10.50.43750.750.75

Continuous-timemodel.

3.线性系统的非奇异变换与标准型状态空间表达式

syst=ss2ss(sys,T)

sys,syst分别为变换前、后系统的状态空间模型,T为非奇异变换阵。

[At,Bt,Ct,Dt]=ss2ss(A,B,C,D,T)

(A,B,C,D)、(At,Bt,Ct,Dt)分别为变换前、后系统的状态空间模型的系数矩阵。

8.2利用MATLAB求解系统的状态方程

线性定常连续系统状态方程

状态响应

式中状态转移矩阵

,则有

1.用MATLAB中expm(A)函数计算状态转移矩阵

例8.4

①求当

时,状态转移矩阵即

A=[0-2;

1-3];

dt=0.2;

phi=expm(A*dt)

得到如下结果

phi=

0.9671-0.2968

0.14840.5219

②计算

时系统的状态响应

2.用step(),impulse()求阶跃输入,脉冲输入响应

例8.5连续二阶系统

求系统的单位阶跃响应

%MATLABProgramofexample4.5.m

A=[-0.7524-0.7268;

0.72680];

B=[1-1;

02];

C=[2.87768.9463];

step(A,B,C,D);

figure

(1)

gridon;

title('

单位阶跃响应'

xlabel('

时间'

ylabel('

振幅'

运行结果

3.用initial()函数,求系统的零输入响应

[y,t,x]=initial(sys,x0)

6.5例中,当输入

时,状态初值

t=[0:

0.01:

15];

u=0;

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

x0=[0.20.2];

[y,t,x]=initial(sys,x0,t)

plot(t,x)

8.3系统的可控性与可观性分析

1.线性定常系统的可控性分析

可控性矩阵

系统完全可控

在MATLAB中,可用

函数求可控性矩阵

例8.6

,判断系统的可控性。

℅MATLABprogramofexample6.6.m

A=[120;

110;

001];

B=[01;

10;

11];

n=3;

CAM=ctrb(A,B);

rcam=rank(CAM);

ifrcam==n

disp('

systemiscontrolled'

elseifrcam<

n

systemisnotcontrolled'

end

执行结果

systemiscontrolled

例8.7

将该系统状态方程转换为可控标准型。

变换矩阵

℅MATLABProgramofexample6.7.m

A=[-22-2;

0-10;

2-61];

b=[0;

1;

2];

s=ctrb(A,b);

ifdet(s)~=0

s1=inv(s);

P=[s1(3,:

);

s1(3,:

)*A;

)*A*A];

PT=inv(P);

A1=P*A*PT%(Ac=PAP^)

b1=P*b%(bc=P*b)

A1=

0.00001.0000-0.0000

-0.000001.0000

-2.0000-3.0000-2.0000

b1=

0

1.0000

这样可得可控标准型矩阵

2.线性定常系统的可观性分析

可观性矩阵

系统可观

在MATLAB中,可用函数

确定可观性矩阵。

例8.8

确定可观性。

%MATLABProgramofexample4.8.m

A=[-23;

3-2];

B=[11;

C=[21;

1-2];

n=2;

ob=obsv(A,C);

roam=rank(ob);

ifroam==n

systemisobservable'

elseifroam~=n

systemisnoobservable'

systemisobservable

8.4用MATLAB实现极点配置

1.调用place函数进行极点配置

k=place(A,B,P)

A,B为系统系数矩阵,P为配置极点,k为反馈增益矩阵。

例8.9给定状态方程

将极点配置在

,确定反馈增益矩阵k。

%MATLABProgramofexample4.9.m

A=[0100;

00-10;

0001;

00110];

0;

-1];

eig(A)'

;

P=[-1;

-2;

-1+sqrt(-1);

-1-sqrt(-1)];

eig(A-B*k)'

运行结果如下:

k=

-0.4000-1.0000-21.4000-6.0000

ans=

-2.0000-1.0000-1.0000i-1.0000+1.0000i-1.0000

2.调用Ackerann公式计算状态反馈矩阵k

k=ACKER(A,b,P)

eig(A-b*k)'

8.5用MATLAB设计状态观测器

例6.10已知系统状态方程

(1)判别可观性;

(2)若系统可观,设计全维状态观测器,使闭环极点为

%example4.10

%输入系统状态方程

a=[0100;

c=[1000];

n=4;

%计算可观性矩阵

ob=obsv(a,c);

%判断可观性

%求解反馈增益矩阵

p1=[-2;

-3;

-2+sqrt(-1);

-2-sqrt(-1)]

a1=a'

b1=c'

c1=b'

k=acker(a1,b1,p1)

%求解系统矩阵

h=(k)'

ahc=a-h*c

h=

9

42

-148

-492

ahc=

-9100

-420-10

148001

4920110

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

当前位置:首页 > 求职职场 > 简历

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

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