现代控制理论实验matlab 报告.docx

上传人:b****4 文档编号:24832498 上传时间:2023-06-01 格式:DOCX 页数:11 大小:212.02KB
下载 相关 举报
现代控制理论实验matlab 报告.docx_第1页
第1页 / 共11页
现代控制理论实验matlab 报告.docx_第2页
第2页 / 共11页
现代控制理论实验matlab 报告.docx_第3页
第3页 / 共11页
现代控制理论实验matlab 报告.docx_第4页
第4页 / 共11页
现代控制理论实验matlab 报告.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

现代控制理论实验matlab 报告.docx

《现代控制理论实验matlab 报告.docx》由会员分享,可在线阅读,更多相关《现代控制理论实验matlab 报告.docx(11页珍藏版)》请在冰豆网上搜索。

现代控制理论实验matlab 报告.docx

现代控制理论实验matlab报告

实验一系统的传递函数阵和状态空间表达式的转换

实验目的:

1、学习多变量系统状态空间表达式的建立方法、了解系统状态空间表达式与传递函数相互转换的方法;

2、通过编程、上机调试,掌握多变量系统状态空间表达式与传递函数相互转换的方法。

实验内容及结果:

>>num=[0012;0153];

den=[1234];

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

实验二状态空间控制模型系统仿真及状态方程求解

实验目的:

1、熟悉线性连续系统的状态空间控制模型的各种表示方法;

2、熟悉系统模型之间的转换功能;

3、利用MATLAB对线性定常系统进行动态分析。

实验内容及结果

(1)

>>num=[1213];

den=[10.521];

sys=tf(num,den);

sys1=tf2zp(num,den);

sys2=tf2ss(num,den);

impulse(sys);

step(num,den,t);

(2)

>>A=[01;-10-5];

B=[0;0];

D=B;

C=[10;01];

x0=[2;1];

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

plot(t,x(:

1),t,x(:

2))

grid

title('Responsetoinitialcondition')

xlabel('Time(sec)')

ylabel('x1,x2')

text(0.55,1.15,'x1')

text(0.4,-2.9,'x2')

(3)

>>A=[-1-1;6.50];

B=[11;10];

C=[10;01];

D=[00;00];

step(A,B,C,D)

 

(4)思考

>>A=[0-2;1-3];

B=[2;0];

C=[10];

x0=[1;1];

U=1;

[t,x]=ode45(@solve_state_fun,[010],x0,[],A,B,U);

plot(t,x(:

1),t,x(:

2));

grid

title('Responsetoinitialcondition')

xlabel('Time(sec)')

ylabel('x1,x2')

text(0.55,1.15,'x1')

text(0.4,-2.9,'x2')

实验三系统能控性、能观性的判别

实验目的:

1、系统的能控性和能观测性的判别方法、系统的能控性和能观测性的分解;

2、了解MATLAB中的相应的函数。

 

实验内容及结果:

(1)判别系统的能观性

>>A=[00-1;10-3;01-3];

B=[1;1;0];C=[01-2];

Qo=obsv(A,C);

n=rank(Qo);

L=length(A);

ifn==L

str='系统状态完全能观'

else

str='系统状态不完全能观'

end

str=

系统状态不完全能观

(2)求系统的能观性分解后的模型

>>A=[00-1;10-3;01-3];

B=[1;1;0];C=[01-2];[D,E,F,T,K]=obsvf(A,B,C)

D=

-1.0000-1.3416-3.8341

0.0000-0.4000-0.7348

-0.00000.4899-1.6000

E=

1.2247

-0.5477

-0.4472

F=

-0.00000.0000-2.2361

T=

0.40820.81650.4082

-0.91290.36510.1826

0-0.44720.8944

K=

110

>>sum(K)

ans=

2

实验四系统稳定性仿真实验

实验目的:

1、掌握线性系统稳定性的判别方法

2、了解MATLAB中相应的函数

实验内容及结果:

(1)判定如下系统的李亚普诺夫稳定性

>>A=[01;-1-1];

Q=eye(size(A,1));

P=lyap(A,Q);

P_eig=eig(P);

ifmin(P_eig)>0

disp('ThesystemisLypunovstable.')

else

disp('ThesystemisnotLypunovstable.')

end

ThesystemisLypunovstable.

(2)判定如下系统的李亚普诺夫稳定性

>>A=[-3-8-2-4;1000;0100;0010];

B=[1000]';

C=[0011];

D=0;

Q=eye(size(A,1));

P=lyap(A,Q);

P_eig=eig(P);

ifmin(P_eig)>0

disp('ThesystemisLypunovstable');

else

disp('ThesystemisnotLypunovstable');

end

ThesystemisLypunovstable

实验五状态反馈及状态观测器的设计

实验目的:

1、熟悉状态反馈矩阵的求法

2、熟悉状态观测器的设计方法

实验内容及结果:

>>A=[-10-35-50-24;1000;0100;0010];

B=[1000]';

C=[172424];

D=0;

Pole=[-30,-1.2,-2.4+4i,-2.4-4i];

a_s_coefficient=poly(A);

a_d_coefficient=poly(Pole);

k_coefficient=a_d_coefficient-a_s_coefficient;

k_coefficient=fliplr(k_coefficient);

k_coefficient=k_coefficient(1,1:

length(k_coefficient)-1)

k_coefficient=

759.3600801.7120172.520026.0000

>>Qc=ctrb(A,B);

Q=fliplr(Qc);

counter=-1;

n=length(A);

X=zeros(n,n);

whilecounter>=-n+1

x=diag(linspace(a_s_coefficient(-counter+1),a_s_coefficient(-counter+1),counter+n),counter);

X=X+x;

counter=counter-1;

end

X=X+eye(n);

P=eye(n)/(Q*X);

k=k_coefficient*P;

 

A=A-B*k;

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

sys=tf(num,den);

[p,z]=pzmap(sys);

pzmap(sys);

step(A,B,C,D);

grid

 

零极点图:

 

阶跃响应曲线:

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

当前位置:首页 > 工作范文 > 行政公文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1