脚大老田 发表于 2015-4-21 15:29

关于伪不动点追踪算法求教

有没有做伪不动点追踪求系统多周期解的前辈帮忙看看
clc
clear all
global Num; global eta11;global eta22;global eta33; global eta13; global eta23;global b;
global k11; global k22; global Fb1; global Fb2; global Fm; global weh; global Fah1;global emsl;
Num=3; eta11=0.00;eta22=0.00;eta13=0.0125;eta23=0.0125;eta33=0.05;k11=1.25;k22=1.25;
Fb1=0;Fb2=0;Fah1=0.05;emsl=0.2;b=1;Fm=0.1;
weh=1.498;
options=odeset('RelTol',1e-8,'AbsTol',1e-9);
det_num=100;
h=2*pi/weh;t1=0;t0=0; h1=h/det_num;K_X=[];
X0=zeros(2*Num,1);
% chuzhi;
for i=1:1000
    =ode45(@three_degree_gear, , X0,options);
    t0=t0+h; X0=X(end,:)';
    if i>900
      K_X=;
    end
end
t0=0 ;t1=0;
chuzhi;
%XX=budongdian2(t1,X0,h);
XX_list=[];DDK=[];KKK=[];
% X0=XX;
for i=1:5*det_num
         t1=t0+i*h1;i
         XX=budongdian2(t0,X0,t1);=ode45(@three_degree_gear, , XX,options);
         DK=norm(X(end,:)'-XX)
         X0=XX;
         DDK=;XX_list=;
   if mod(i,det_num)==0
         KKK=];
   end      
end
=ode45(@three_degree_gear, , XX,options);
***************************************************************************
function XX=budongdian2(t,X0,h)
global Num;
options=odeset('RelTol',1e-8,'AbsTol',1e-9);
X_E=[];X_D=[];
% 不动点迭代法流程
K=1;v=1;t1=t;t2=t1;
while v==1
    while K<=2*Num+1
      =ode45(@three_degree_gear, , X0,options);
      X1=X(end,:)';
%         t1=t1+h;
      ek=norm((X1-X0)/X1,2);
      if ek<1e-9
            XX=X1; v=0
            break;
      else
            X_E=;X_D=];X0=X1;
      end
      K=K+1;
    end
    HC=X_E*pinv(X_D);H=HC(:,1:end-1);C=HC(:,end);
    E=eye(2*Num);XX=pinv(E-H)*C;v=0;X0=XX;
end
eb=1;kk=1;
while eb>1e-7;
    X2=X0;K=1;v=1; t1=t2;
    while v==1
      while K<=2*Num+1
            =ode45(@three_degree_gear, , X0,options);
            X1=X(end,:)';
            ek=norm((X1-X0)/X1,2);
            if ek<1e-8
                XX=X1; v=0
                break;
            else
                X_E=;X_D=];X0=X1;
            end
            K=K+1;
      end
      HC=X_E*pinv(X_D);H=HC(:,1:end-1);C=HC(:,end);
      E=eye(2*Num);XX=pinv(E-H)*C; v=0;
    end
    eb=norm((X2-XX)/XX,2);kk=kk+1;
    if kk>200
      kk
      break
    end
    X0=XX;
end
做不出正确结果,为什么?

脚大老田 发表于 2015-4-22 15:54

来个人啥

Vickyvictoria 发表于 2015-10-10 17:26

脚大老田 发表于 2015-4-22 15:54
来个人啥

结果什么地方不正确呢?总不能让每个人都运行一次吧
建议这类问题最好能够把结果也贴出来,并说明你的想法

哎哟喂110120 发表于 2016-12-1 18:07

哥们,程序中你的方程是啥啊,搞出来了吗?

eastar 发表于 2016-12-2 08:15

哪里出错发出来看看

哎哟喂110120 发表于 2016-12-2 11:32

eastar 发表于 2016-12-2 08:15
哪里出错发出来看看

你也搞得整个吗?哥们,可以一起交流啊 936476231

eastar 发表于 2016-12-2 14:37

哎哟喂110120 发表于 2016-12-2 11:32
你也搞得整个吗?哥们,可以一起交流啊 936476231

我都不知道他说的是啥

哎哟喂110120 发表于 2016-12-2 16:10

eastar 发表于 2016-12-2 14:37
我都不知道他说的是啥

它的意思是求不出正确答案,但是可以运行,也就是找不出周期点和周期

哎哟喂110120 发表于 2016-12-2 16:11

前辈在吗?你最后做出来了吗

eastar 发表于 2016-12-6 08:36

正确结果应该是什么样子的

哎哟喂110120 发表于 2016-12-10 20:29

正确结果应是出现极小值等于0

Raspberry 发表于 2016-12-12 08:41

为啥这么多人研究这个

哎哟喂110120 发表于 2016-12-14 15:06

Raspberry 发表于 2016-12-12 08:41
为啥这么多人研究这个

在非线性研究中,求共存周期的一种不错的方法

Raspberry 发表于 2016-12-15 08:49

哎哟喂110120 发表于 2016-12-14 15:06
在非线性研究中,求共存周期的一种不错的方法

共存周期?那他这个程序有问题吗

哎哟喂110120 发表于 2016-12-15 10:46

Raspberry 发表于 2016-12-15 08:49
共存周期?那他这个程序有问题吗

结果不正确,你也研究这个?咱们可以QQ交流啊
页: [1] 2
查看完整版本: 关于伪不动点追踪算法求教