声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 983|回复: 0

[随机振动] 关于李雅普诺夫微分方程精细积分的一个程序,算不出数,求大....

[复制链接]
发表于 2014-4-9 16:22 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
M=[2 0 0;0 1.5 0;0 0 1];
C=[170 -85 0;-85 170 -85; 0 -85 85];
K=[3000 -1200 0;-1200 1800 -600;0 -600 600];
In=ones(6);
g=1;
[D,V]=eig(K,M);
A=[zeros(3) ones(3);-inv(M)*K -inv(M)*C];
N=20;
S0=142.75;
t=0.02;
it=t/2^N;
tt=it;
Ta=A*it+(A*it)^2*(In+(A*it)/3+(A*it)^2/12)/2;
fi=expm(A*tt);
G=[zeros(3);ones(3)];
Q0=G*(S0*ones(3))*G';
P0=Q0*it+(A*Q0+Q0*A')*it^2/2+(A^2*Q0+2*A*Q0*A'+Q0*(A^2)')*it^3/6+(A^3*Q0+3*A^2*Q0*A'+3*A*Q0*(A^2)'+Q0*(A^3)')*it^4/24;
P1=Q0*it^2/2+(A*Q0+Q0*A')*it^3/6+(A^2*Q0+2*A*Q0*A'+Q0*(A^2)')*it^4/24;
for tt=0:t/2^N:t/2
    P0=P0+eps;
    P1=P1+eps;
    P1=P1+(In+Ta*2+Ta*Ta)*P1*(In+Ta*2+Ta*Ta)'+2*tt*P0;
    P0=P0+(In+Ta*2+Ta*Ta)*P0*(In+Ta*2+Ta*Ta)';
end
for t2=t/2:t/2^N:t
        P1=P1+fi*fi*P1*(fi*fi)'+2*t2*P0;
        P0=P0+fi*fi*P0*(fi*fi)';
end
    Pk1=P1;
    Pk0=P0;
    for t1=t:t:N*t
        fi1=expm(A*t1);
        Pk1=fi1*Pk1*fi1'+t1*Pk0+Pk1;
        Pk0=fi1*Pk0*fi1'+Pk0;
        disp(Pk1)
        disp(Pk0)
    end

回复
分享到:

使用道具 举报

您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-5-1 19:54 , Processed in 0.094102 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表