声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2061|回复: 0

[分形与混沌] 我的OGY程序为啥没有控制住?

[复制链接]
发表于 2006-7-15 10:46 | 显示全部楼层 |阅读模式

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

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

x
有谁做过OGY控制混沌程序的帮个忙看看我的程序为啥没有控制住,先谢谢了:

A=1.4;                              % 系统在A=1.4,B=0.3时呈现混沌运动
B=0.3;
d=0.08;
x(1)=0.32;                          % 系统初始值 x0=y0=0.32
xF=(B-1+((1-B).^2+4*A).^0.5)*0.5;   % 不动点(xF,xF)
f=[-2*xF B;1 0];                    % 系统在xF处的导数
g=((1-B).^2+4*A).^0.5*[1;1];        % 响应矢量矩阵
ju=-xF-(xF.^2+B).^0.5;              % 系统在xF点处不稳定方向上的特征根
eu=[1;-((xF.^2+B).^0.5-xF)/B];      % 系统在xF点处不稳定方向上单位向量
hu=[((xF.^2+B).^0.5+xF)/(2*((xF.^2+B).^0.5)) B/(-2*((xF.^2+B).^0.5))];%系统在不稳定方向上正交对偶矢量
for n=1:1000
    if n<2
        x(n+1)=x(n);
    else
        x(n+1)=A+B*x(n-1)-x(n).^2;      % 系统动力学方程   
        diag=[x(n)-xF;x(n)-xF];         % 控制的目的是使x(n+1)移到点xF的稳定方向上,即使diag在不稳定方向上的分量为零     
        xu=hu*diag;   
        P=(ju*hu*diag)/((ju-1)*(hu*g)); % 控制率表达
        if -(1-1/ju)*hu*g*d<xu<(1-1/ju)*hu*g*d  % 控制启动条件
           x(n+1)=A+B*x(n-1)-x(n).^2+P;
        else
           x(n+1)=A+B*x(n-1)-x(n).^2;
        end
     end
end
n=1:1000;
plot(n,x(n),'r.');
grid on;
回复
分享到:

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-1 10:32 , Processed in 0.061844 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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