线性系统结构分析与分解及标准型

上传人:xia****ai 文档编号:109768638 上传时间:2022-06-17 格式:DOC 页数:13 大小:78.50KB
返回 下载 相关 举报
线性系统结构分析与分解及标准型_第1页
第1页 / 共13页
线性系统结构分析与分解及标准型_第2页
第2页 / 共13页
线性系统结构分析与分解及标准型_第3页
第3页 / 共13页
点击查看更多>>
资源描述
广西大学实验报告纸序号学号姓名贡献排名实验报告分数1(组长):1322(组员):13021202 1实验项目线性系统结构分析与分解及标准型【实验时间】 2015年12月4日【实验地点】 课外【实验目的】 掌握线性系统状态空间标准型、解及其模型转换【实验设备与软件】 MATLAB数值分析软件【实验原理】1、 标准型变换、矩阵Jordan型变换、特征值(1)标准型变换 命令格式 csys=canon(sys,type) (2) 矩阵Jordan规范型 命令格式 V J=Jordan(A) (3)求矩阵特征值和特征向量 命令格式 V J=eig(A) cv=eig(A) 2、状态模型的相似变换: 命令格式 sysb=ss2ss(sys,T) 传递函数模型与状态空间模型之间的相互转换: 命令格式 A,B,C,D=tf2ss(num,den) num,den=ss2tf(A,B,C,D,iu)zpk模型与空间状态模型之间的相互转换: 命令格式 A,B,C,D=zp2ss(z,p,k) z,p,k=ss2zp(A,B,C,D,iu)3、线性定常系统的可控性与可观性及结构分解 (1)状态可控性 Qc=ctrb(A,B) r=rank(Qc) l=length(A) (2)状态可观性 Qo=obsv(A,C) r=rank(Qo) l=size(A,1) (3)输出可控性 Co=ctrb(A,B) m=size(C,1) Qyc=C*Co,D Tm=rank(Qyc) 4、定常线性系统的标准型(转换限于SISO系统)若系统能控,则可转换成能控标准型和能控标准II型。转换成能控标准II型的代码:function Gs=ss(A,B,C,D)T=ctrb(Gs.a,Gs.b)Abar=inv(T)*A*T;Bar=inv(T)*B;Cbar=C*T,Dar=D;Gss=ss(Abar,Bbar,Cbar,Dbar)end转换成能控标准型的代码:function Gs=ss(A,B,C,D)Tt=ctrb(Gs.a,Gs.b);Ttt=fliplr(Tt);cp=poly(Gs.a);n=length(Gs.a);Tea=eye(n)for i=2:n for j=1:(n-1) if ij Tea(i,j)=cp(i-(j-1); endendendT=Ttt*Tea;Abar=inv(T)*A*T;Bbar=vin(T)*B;Cbar=C*T;Dbar=D;Gss=ss(Abar,Bbar,Cbar,Dbar)end若系统能观,则可转换成能观标准型和能观标准II型。转换成能观标准型的代码:function Gs=ss(A,B,C,D)%Gs=ss(A,B,C,D);Tinv=obsv(Gs.a,Gs.c);T=inv(Tinv);Abar=inv(T)*A*T;Bar=inv(T)*B;Cbar=C*T,Dar=D;Gss=ss(Abar,Bbar,Cbar,Dbar)end转换成能观标准II的代码:function Gs=ss(A,B,C,D)%A=-6 -0.625 0.75;8 0 0;0 2 0%B=1;0;0%C=1 -0.25 0.0625%D=1Tt=obsv(Gs.a,Gs.c);Ttt=flipud(Tt);cp=poly(Gs.a);n=length(Gs.a);Tea=eye(n)for i=2:n for j=1:(n-1) if ij Tea(i,j)=cp(i-(j-1); endendendTea=Tea;T=Tea*Ttt;Abar=inv(T)*A*T;Bbar=vin(T)*B;Cbar=C*T;Dbar=D;Gss=ss(Abar,Bbar,Cbar,Dbar)end【实验内容、方法、过程与分析】1、已知线性系统在MATLAB中输入该系统的状态空间描述:A=-6 -0.625 0.75;8 0 0;0 2 0A = -6.0000 -0.6250 0.7500 8.0000 0 0 0 2.0000 0 B=1;0;0B = 1 0 0 C=1 -0.25 0.0625C = 1.0000 -0.2500 0.0625 D=1D = 1(1) 判断其状态可控性、可观性和传递函数的关系,并加以说明分析。编写判断状态可控性子函数:function str=pdctrb(A,B)Qc=ctrb(A,B);r=rank(Qc);l=length(A);if r=l str=系统是状态完全可控的!;else str=系统不是状态完全可控的!;endend调用子函数:str=pdctrb(A,B)str =系统是状态完全可控的!编写判断状态可观性子函数:function str=pdobsv(A,C)Qo=obsv(A,C);r=rank(Qo);l=size(A,1);if r=l; str=系统是状态完全可观的!;else str=系统不是状态完全可观的!;endend调用子函数:str=pdobsv(A,C)str =系统不是状态完全可观的!所以,该系统是状态完全可控、不完全可观的。(2) 对系统分别按能控性分解、能观性分解以及能控能观性分解。按能控性分解:Abar Bbar Cbar T K=ctrbf(A,B,C)Abar = 0 -2.0000 0 0 0 8.0000 -0.7500 -0.6250 -6.0000Bbar = 0 0 1Cbar = -0.0625 -0.2500 1.0000T = 0 0 -1 0 1 0 1 0 0K = 1 1 1按能观性分解:Abar Bbar Cbar T K=obsvf(A,B,C)%能观性分解Abar = 1.0000 -2.2772 2.7134 -0.0000 0.3407 -5.5238 0.0000 2.6251 -7.3407Bbar = 0.0558 -0.2432 0.9684Cbar = 0.0000 -0.0000 1.0327T = 0.0558 0.4465 0.8930 -0.2432 -0.8614 0.4459 0.9684 -0.2421 0.0605K = 1 1 02、在Matlab中建立并运行如下的.m代码,回答下面的问题。num=1 2 3;den=conv(1 6 25,1 12 35);G=tf(num,den)Gs=ss(G)V J=Jordan(Gs.a) %求特征向量和Gs.a的Jordan标准型Gss=ss2ss(Gs,inv(V) %Jordan型系统Gsm=canon(Gs,model) %模态型系统Gsf=canon(Gs,companion) %能控标准型系统(1) 给出无分号行的运行结果,并比较几个状态方程。(2) 在什么情况下,canon得到的是对角型系统?请举例说明。(3) 将原理中给出的能控标准与能观标准型转换代码写成子函数的形式,并通过调用所编写的子函数将.m文件中给出的模型变换成能控标准、型和能观标准、型,并从结果说明能控与能观标准型的关系。实验过程及分析:(1)运行结果如下:clear num=1 2 3; den=conv(1 6 25,1 12 35); G=tf(num,den)G = s2 + 2 s + 3 - s4 + 18 s3 + 132 s2 + 510 s + 875 Continuous-time transfer function. Gs=ss(G)Gs = a = x1 x2 x3 x4 x1 -18 -8.25 -3.984 -3.418 x2 16 0 0 0 x3 0 8 0 0 x4 0 0 2 0 b = u1 x1 0.25 x2 0 x3 0 x4 0 c = x1 x2 x3 x4 y1 0 0.25 0.0625 0.04688 d = u1 y1 0 Continuous-time state-space model. V J=jordan(Gs.a)V = Columns 1 through 2 -0.4883 + 0.0000i -1.3398 + 0.0000i 1.5625 + 0.0000i 3.0625 + 0.0000i -2.5000 + 0.0000i -3.5000 + 0.0000i 1.0000 + 0.0000i 1.0000 + 0.0000i Columns 3 through 4 0.4570 - 0.1719i 0.4570 + 0.1719i -0.4375 + 1.5000i -0.4375 - 1.5000i -1.5000 - 2.0000i -1.5000 + 2.0000i 1.0000 + 0.0000i 1.0000 + 0.0000iJ = Columns 1 through 2 -5.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i -7.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i Columns 3 through 4 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i -3.0000 - 4.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i -3.0000 + 4.0000i Gss=ss2ss(Gs,inv(V)Gss = a = x1 x2 x1 -5+1.04e-15i -2.13e-14+2.19e-15i x2 -1.78e-15-4.62e-16i -7-1.06e-15i x3 -1.38e-15+1.78e-15i 4.01e-15+2.22e-15i x4 -1.73e-15+4.44e-16i 7.54e-15+4.44e-16i x3 x4 x1 2.43e-14+2.27e-15i 2.01e-14-4.83e-15i x2 -5.7e-15+2.51e-15i -4.96e-15-2.82e-15i x3 -3-4i 0+1.78e-15i x4 -4.88e-15+1.11e-15i -3+4i b = u1 x1 1.6-2.22e-16i x2 -1+1.67e-16i x3 -0.3-0.1i x4 -0.3+0.1i c = x1 x2 x3 y1 0.281-1.77e-16i 0.594-2.78e-16i -0.156+0.25i x4 y1 -0.156-0.25i d = u1 y1 0 Continuous-time state-space model. Gsm=canon(Gs,model)Gsm = a = x1 x2 x3 x4 x1 -3 4 0 0 x2 -4 -3 0 0 x3 0 0 -7 0 x4 0 0 0 -5 b = u1 x1 0.9492 x2 -0.1931 x3 4.942 x4 5.042 c = x1 x2 x3 x4 y1 0.1699 0.09054 -0.1201 0.08925 d = u1 y1 0 Continuous-time state-space model. Gsf=canon(Gs,companion)Gsf = a = x1 x2 x3 x4 x1 0 0 0 -875 x2 1 0 0 -510 x3 0 1 0 -132 x4 0 0 1 -18 b = u1 x1 1 x2 0 x3 0 x4 0 c = x1 x2 x3 x4 y1 0 1 -16 159 d = u1 y1 0 Continuous-time state-space model.状态方程比较:Jordan标准型是一种并联分解的策略;模态型系统是一组以模态坐标及模态参数描述的独立方程;最后的是能控标准II型系统,可以直接转换为其他能控或能观标准型。(2)当系统没有重根的时候,canon得到的是对角型系统。例子: num=1 2 3;den=conv(1 1 ,1 12 35 2 );G=tf(num,den)Gs=ss(G)Gsm=canon(Gs,model)运行结果:canonG = s2 + 2 s + 3 - s4 + 13 s3 + 47 s2 + 37 s + 2 Continuous-time transfer function.Gs = a = x1 x2 x3 x4 x1 -13 -5.875 -2.313 -0.25 x2 8 0 0 0 x3 0 2 0 0 x4 0 0 0.5 0 b = u1 x1 1 x2 0 x3 0 x4 0 c = x1 x2 x3 x4 y1 0 0.125 0.125 0.375 d = u1 y1 0 Continuous-time state-space model.Gsm = a = x1 x2 x3 x4 x1 -7.132 0 0 0 x2 0 -4.81 0 0 x3 0 0 -1 0 x4 0 0 0 -0.0583 b = u1 x1 5.531 x2 5.456 x3 -0.8344 x4 0.1298 c = x1 x2 x3 x4 y1 -0.0711 0.07203 0.1089 0.7028 d = u1 y1 0 Continuous-time state-space model.(3)将原理中给出的能观标准型和能控标准型转换代码写成子函数的形式,并通过调用你编写的子函数将.m文件中给出的能控标准、II型和能观标准、型,从结果说明能控与能观标准型间关系。能控型:function Abar,Bbar,Cbar,Dbar=nengkong1(A,B,C,D)Tt=ctrb(A,B);Ttt=fliplr(Tt);cp=poly(A);n=length(A);Tea=eye(n)for i=2:n for j=1:(n-1) if ij Tea(i,j)=cp(i-(j-1); endendendT=Ttt*Tea;Abar=inv(T)*A*T;Bbar=inv(T)*B;Cbar=C*T;Dbar=D;End能空型:function Abar,Bbar,Cbar,Dbar=nengkong2(A,B,C,D)T=ctrb(A,B)Abar=inv(T)*A*T;Bbar=inv(T)*B;Cbar=C*T,Dbar=D;end能观型:function Abar,Bbar,Cbar,Dbar=nengguan1(A,B,C,D)Tinv=obsv(A,C);T=inv(Tinv);Abar=inv(T)*A*T;Bbar=inv(T)*B;Cbar=C*T,Dbar=D;end能观型:function Abar,Bbar,Cbar,Dbar=nengguan2(A,B,C,D)Tt=obsv(A,C);Ttt=flipud(Tt);cp=poly(A);n=length(A);Tea=eye(n);for i=2:n for j=1:(n-1) if ij Tea(i,j)=cp(i-(j-1); endendendTea=Tea;T=Tea*Ttt;Abar=inv(T)*A*T;Bbar=inv(T)*B;Cbar=C*T;Dbar=D;%Gss=ss4(Abar,Bbar,Cbar,Dbar)end【实验总结】通过这次实验,用MATLAB为工具对线性系统的能控能观性进行判断和分析,以及对系统进行能控能观性分解和对模型进行变换,了解了能空能观之间的关系。通过这次实验,我熟悉了MATLAB中对线性系统的基本操作,对系统能控能观性也有了更深的理解。对我们日后的学习有着很大的影响。13
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 小学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!