Matlab方程的求解.docVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 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.2222 0.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? ???2 B = ? ???2? ???3 ? ???4? ???5 C = ? ???1? ???2 ? ???3? ???4 ? ???5? ???6 X = ? ? 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)

almm118 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档