首页 理论教育 将状态方程化为对角标准型的优化方法

将状态方程化为对角标准型的优化方法

时间:2023-06-18 理论教育 版权反馈
【摘要】:试将状态空间表达式对应的系统化为对角标准型。clear;syms s t;A=[010;302;-12-7-6];B=[0;0;0];C=[000];P=[-0.5774-0.43640.2294;0.57740.8729-0.6882;0.5774-0.21820.6882];[A1,B1,C1]=lintra01;2.利用范德蒙德矩阵将特征值互异、矩阵A为友矩阵或正则形矩阵化为对角线标准型如果状态矩阵A具有如下的标准形式并且A又具有互异的特征值λ1、λ2、…为方便计算,作者编制了利用范德蒙德矩阵将状态方程化为对角线标准型的函数vander.m。 已知系统状态空间表达式为1),C=[000];2)、y=[00]x,试将系统变换为对角标准型。

将状态方程化为对角标准型的优化方法

已经说明过,系统状态变量不是唯一的。根据分析与设计系统的不同需要,可选择不同状态变量。在一定条件下,可把系统状态空间模型规范为几种标准形式,叫做状态空间模型的标准型。这些标准型能把系统的某些特性描述得更清晰、准确,并且具有更简洁的形式,会给系统分析与设计带来很多方便。

例如对角线标准型可以去除状态变量之间的联系,有文献将此称为状态解耦,这会给系统的分析与计算带来极大的方便。

1.化特征值互异、矩阵A为任意形式的状态方程为对角标准型

请注意这种系统矩阵A为任意形式,但其特征值一定互异,使用MATLAB系统函数命令[V,D]=eig(A),计算矩阵A的V、D,其特征向量矩阵V就可将A化为对角标准型。请看示例。

【例14-13】 试将状态空间表达式978-7-111-42163-4-Part01-2019.jpg对应的系统化为对角标准型。

解:运行以下程序求解。

clear;syms s;A=[01-1;-6-116;-6-115];

[V,D]=eig(A);P=V,D,A1=inv(P)∗A∗P,

程序运行后得到系统变换矩阵978-7-111-42163-4-Part01-2020.jpg、系统的对角标准型为978-7-111-42163-4-Part01-2021.jpg,还可以运行调用自编函数lintra01.m的程序验证系统变换前后特征值的不变性。请注意,程序中的D不是系统输出矩阵,而是A的特征值对角矩阵。

clear;syms s t;A=[01-1;-6-116;-6-115];B=[0;0;0];C=[000];

P=[0.7071-0.2182-0.0921;0.0000-0.4364-0.5523;0.7071-0.8729-0.8285];

[A1,B1,C1]=lintra01(A,B,C,P);

需要提请读者,因各种误差的累积,系统特征值|sE-A|与978-7-111-42163-4-Part01-2022.jpg计算结果中出现了小数。只要将小数中无效的“0”除去,即可得到正确结果。请看本例用以下程序处理。

clear;syms s;A1=[-10.00030.0001;0-20;0-0.0011-3];

n=length(A1);E=eye(n);sEA1=factor(det(s∗E-A1)),

程序运行结果证实|sE-A|=978-7-111-42163-4-Part01-2023.jpg=(s+1)(s+2)(s+3)。以下例中出现类似情况,不再赘述,读者可自行验证。

【例14-14】 试将以下状态空间表达式的系统变换为对角标准型。

解:运行以下程序求解。

clear;syms s;A=[010;302;-12-7-6];

[V,D]=eig(A);P=V,D,A1=inv(P)∗A∗P,

程序运行后得到系统变换矩阵978-7-111-42163-4-Part01-2025.jpg、系统的对角标准型为978-7-111-42163-4-Part01-2026.jpg,还可以运行调用自编函数lintra01.m的程序验证系统变换前后特征值的不变性。再次提醒,程序中的D不是系统输出矩阵,而是A的特征值对角矩阵。

clear;syms s t;A=[010;302;-12-7-6];B=[0;0;0];C=[000];

P=[-0.5774-0.43640.2294;0.57740.8729-0.6882;0.5774-0.21820.6882];

[A1,B1,C1]=lintra01(A,B,C,P);

2.利用范德蒙德矩阵将特征值互异、矩阵A为友矩阵或正则形矩阵化为对角线标准型

如果状态矩阵A具有如下的标准形式(有文献将这种形式称为友矩阵或正则形矩阵)

并且A又具有互异的特征值λ1λ2、…、λn,则以下范德蒙德矩阵P可使A对角化。

为方便计算,作者编制了利用范德蒙德矩阵将状态方程化为对角线标准型的函数vander.m。请看示例。

【例14-15】 已知系统状态空间表达式为1)978-7-111-42163-4-Part01-2029.jpgC=[000];

2)978-7-111-42163-4-Part01-2030.jpgy=[00]x,试将系统变换为对角标准型。

解:1)给出以下调用自编函数vander.m的程序求解。

①用自编函数cha01.m验证系统1特征值互异。

clear;syms s;A=[010;001;-6-11-6];

[sea,detsea,V,D]=cha01(A);V1AV=inv(V)∗A∗V,

程序运行后得到

d=-1.0000

-2.0000(www.xing528.com)

-3.0000

程序运行后得到特征值d=[-1;-2;-3]是互异的。

②调用自编函数vander.m的程序将系统变换为对角标准型。

clear;syms s;

A=[010;001;-6-11-6];B=[1;1;0];C=[000];

[Vand,A1,B1,C1]=vander(A,B,C);

程序运行后得到系统的对角标准型动态方程

③为验证上述变换是否正确先要用自编函数lintra01.m求P1。

clear;syms s t;

A=[010;001;-6-11-6];B=[1;1;0];C=[000];

P=[111;-1-2-3;149];[A1,B1,C1]=lintra01(A,B,C,P);

程序运行后得到系统的978-7-111-42163-4-Part01-2032.jpg

④再用自编函数lintra02.m验证上述变换是否正确。

clear;syms s t;A1=[-100;0-20;00-3];

B1=[5.5;-7;2.5];C1=[000];

P1=[32.50.5;-3-4-1;11.50.5];

[A,B,C]=lintra02(A1,B1,C1,P1);

程序运行后得到系统状态空间表达式978-7-111-42163-4-Part01-2034.jpgC=[000]。

2)也给出以下调用自编函数vander.m的程序求解。

①用自编函数cha01.m验证系统2特征值互异。

clear;syms s;A=[01;-5-6];

[sea,detsea,V,D]=cha01(A);V1AV=inv(V)∗A∗V,

程序运行后得到特征值d=[-1;-5]是互异的。

②调用自编函数vander.m的程序将系统变换为对角标准型。

clear;syms s;

A=[01;-5-6];B=[0;1];C=[00];

[Vand,A1,B1,C1]=vander(A,B,C);

程序运行后得到系统的对角标准型动态方程978-7-111-42163-4-Part01-2035.jpg

③为验证上述变换是否正确先要用自编函数lintra01.m求P1。

clear;syms s t;A=[01;-5-6];B=[0;1];C=[00];

P=[11;-1-5];[A1,B1,C1]=lintra01(A,B,C,P);

程序运行后得到系统的978-7-111-42163-4-Part01-2036.jpg

④再用自编函数lintra02.m验证上述变换是否正确。

clear;syms s t;P1=[1.250.25;-0.25-0.25];A1=[-10;0-5];

B1=[0.25;-0.25];C1=[00];[A,B,C]=lintra02(A1,B1,C1,P1);

程序运行后得到系统状态空间表达式978-7-111-42163-4-Part01-2037.jpg、y=[00]x。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈