- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Matlab方程的求解
Matlab的Lyapunov、Sylvester和Riccati方程的Matlab求解 一、连续Lyapunov方程连续Lyapunov方程可以表示为Lyapunov方程来源与微分方程稳定性理论,其中要求C为对称正定的n×n方阵,从而可以证明解X亦为n×n对称矩阵,这类方程直接求解比较困难,不过有了Matlab中lyap()函数,就简单多了。 A=[1 2 3;4 5 6;7 8 0]A =? ???1? ???2? ???3? ???4? ???5? ???6? ???7? ???8? ???0 C=-[10 5 4;5 6 7;4 7 9]C =? ?-10? ? -5? ? -4? ? -5? ? -6? ? -7? ? -4? ? -7? ? -9 X=lyap(A,C)X =? ?-3.9444? ? 3.8889? ? 0.3889? ? 3.8889? ?-2.7778? ? 0.22220.3889? ? 0.2222? ?-0.1111二、Lyapunov方程的解析解利用Kroncecker乘积的表示方法,可以将Lyapunov方程写为function x=lyap2(A,C)%Lyapunov方程的符号解法n=size(C,1);A0=kron(A,eye(n))+kron(eye(n),A);c=C(:);x0=-inv(A0)*c;x=reshape(x0,n,n)例子A=[1 2 3;4 5 6;7 8 0];C=-[10 5 4;5 6 7;4 7 9];x=lyap2(sym(A),sym(C))x =[ -71/18,? ?35/9,? ?7/18][? ?35/9,??-25/9,? ? 2/9][? ?7/18,? ? 2/9,? ?-1/9]三、离散Lyapunov方程离散Lyapunov方程的一般形式为Matlab中直接提供了dlyap()函数求解该方程:X=dlyap(A,Q)其实,如果A矩阵非奇异,则等式两边同时右乘得到就可以将其变换成连续的Sylvester方程而Sylvester方程是广义Lyapunov方程,故离散的Lyapunov方程还可以使用下面的方法求解B=-inv(A’)C=Q*inv(A’)X=lyap(A,B,C)下面总结下我们上面的讲到的知识点:X=lyap(A,C)? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?连续Lyapunov方程数值解法X=lyap2(A,C)? ?? ?? ?? ?? ?? ?? ?? ?? ?? ? 连续Lyapunov方程符号解法X=lyap(A,B,C)? ?? ?? ?? ?? ?? ?? ?? ?? ?? ???广义Lyapunov方程,即Sylvester方程X=dlyap(A,Q)或者X=lyap(A,-inv(A’),Q*inv(A’))? ? 离散Lyapunov方程Sylvester方程Matlab求解Sylvester方程的一般形式为该方程又称为广义的Lyapunov方程,式中A是n×n方阵,B是m×m方阵,X和C是n×m矩阵。Matlab控制工具箱提供了直接的求解该方程的lyap()函数A=[8 1 6;3 5 7;4 9 2]B=[2 3;4 5]C=[1 2;3 4;5 6]X=lyap(A,B,C)A =? ???8? ???1? ???6? ???3? ???5? ???7? ???4? ???9? ???2B =? ???2? ???3? ???4? ???5C =? ???1? ???2? ???3? ???4? ???5? ???6X =? ? 0.2011? ? 0.2016? ? 0.0393? ? 0.1554? ?-0.6428? ?-0.8966同理,我们使用Kronecker乘机的形式将原方程进行如下变化故可以编写Sylvester方程的解析解函数function X=lyap3(A,B,C)%Sylvester方程的解析解法%rewrited by dynamic%more information If nargin==2,C=B;B=A;end[nr,nc]=size(C);A0=kron(A,eye(nc))+kron(eye(nr),B);try ? ? C1=C;? ? X0=-inv(A0)*C1(:);? ? X=reshape(X0,nc,nr);catc
文档评论(0)