下载

1下载券

加入VIP
  • 专属下载特权
  • 现金文档折扣购买
  • VIP免费专区
  • 千万文档免费下载

上传资料

关闭

关闭

关闭

封号提示

内容

首页 Matlab解Lyapunov方程

Matlab解Lyapunov方程.doc

Matlab解Lyapunov方程

yzs8365
2013-02-07 0人阅读 举报 0 0 暂无简介

简介:本文档为《Matlab解Lyapunov方程doc》,可适用于高等教育领域

一、连续Lyapunov方程连续Lyapunov方程可以表示为Lyapunov方程来源与微分方程稳定性理论其中要求C为对称正定的n×n方阵从而可以证明解X亦为n×n对称矩阵这类方程直接求解比较困难不过有了Matlab中lyap()函数就简单多了。>>A=A=                                    >>C=C=                  >>X=lyap(A,C)X=                二、Lyapunov方程的解析解利用Kroncecker乘积的表示方法可以将Lyapunov方程写为functionx=lyap(A,C)Lyapunov方程的符号解法n=size(C,)A=kron(A,eye(n))kron(eye(n),A)c=C(:)x=inv(A)*cx=reshape(x,n,n)例子>>A=>>C=>>x=lyap(sym(A),sym(C))x=,  ,    ,  ,    ,  ,  三、离散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=lyap(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=B=C=X=lyap(A,B,C)A=                                    B=                C=                        X=            同理我们使用Kronecker乘机的形式将原方程进行如下变化故可以编写Sylvester方程的解析解函数functionX=lyap(A,B,C)Sylvester方程的解析解法rewritedbydynamicmoreinformationhttp:wwwilovematlabcnIfnargin==,C=BB=A'endnr,nc=size(C)A=kron(A,eye(nc))kron(eye(nr),B')try  C=C'  X=inv(A)*C(:)  X=reshape(X,nc,nr)catch  error('Matlabsky提醒您:矩阵奇异!')end用上面的数据我们试验下该解析解法的>>X=lyap(sym(A),B,C)X=  ,  ,    ,  ,Riccati方程的Matlab求解Riccati方程是一类很著名的二次型矩阵形式其一般形式为由于含有矩阵X的二次项所有Riccati方程求解要Lyapunov方程更难Matlab控制工具箱提供了are()函数可以直接求解该函数A=B=C=X=are(A,B,C)A=                        B=                            C=                                X=                  如何用matlab求解lyapunov指数我是需要分析计算LOGISTIC数据  ,都是用来说明对初值的敏感以下是LOGISTIC求解的程序,希望得到LYAPUNOV的程序clcclearclosealllambda=:e:x=*ones(,length(lambda))N=            前面的迭代点数N=            后面的迭代点数f=zeros(NN,length(lambda))fori=:NN  x=lambda*x*(x)  f(i,:)=xendf=f(N:end,:)plot(lambda,f,'k','MarkerSize',)xlabel('lambda')ylabel('x')慢慢看吧很有用

用户评价(0)

关闭

新课改视野下建构高中语文教学实验成果报告(32KB)

抱歉,积分不足下载失败,请稍后再试!

提示

试读已结束,如需要继续阅读或者下载,敬请购买!

文档小程序码

使用微信“扫一扫”扫码寻找文档

1

打开微信

2

扫描小程序码

3

发布寻找信息

4

等待寻找结果

我知道了
评分:

/6

Matlab解Lyapunov方程

VIP

在线
客服

免费
邮箱

爱问共享资料服务号

扫描关注领取更多福利