作者cancellarame (计时之神)
看板MATLAB
标题[其他] for 回圏问题
时间Fri Apr 13 20:08:44 2012
一直无法解决回圈只跑出1组值的问题 50
应该会有50*3 个值
请教大家
感谢大家解惑!!^^
function T=checkpoincarevarycccfinal
s=0.005;
e=0.25;
time=[];
ptt=[];
for j=1:3
c=0.18+0.02*(j-1);
x=[1e-6,1e-6,1e-6,1-1e-6];
[t, y]=ode45(@diflv4dhet,[0 8888],x,[],c,s,e);
for i=2:length(t)
if y(i-1,3) >0.1 && y(i,3) <0.1
w =t(i)+((0.1-y(i,3))*(t(i+1)-t(i))/(y(i+1,3)-y(i,3))) ;
%time temp
time=[time w];
end
end
T=time(2:end-1)-time(1:end-2) ;
T=T(end-49 : end);
end
point=[c*ones(1,50);T];
ptt=[ptt point];
end
----------------------------------------
function dydt=diflv4dhet(t,y,c,s,e)
dydt =[ y(1)*(1-(y(1)+y(2)+y(3)+y(4))-c*y(2)-s*y(3)+e*y(4));
y(2)*(1-(y(1)+y(2)+y(3)+y(4))-c*y(3)-s*y(4)+e*y(1));
y(3)*(1-(y(1)+y(2)+y(3)+y(4))-c*y(4)-s*y(1)+e*y(2));
y(4)*(1-(y(1)+y(2)+y(3)+y(4))-c*y(1)-s*y(2)+e*y(3))
];
end
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 120.107.198.122
1F:→ scome30601:把程式码直接贴上来,通常得不到解答 04/13 22:58
2F:→ vincent59:个人觉得贴上来不是不好,只是要清楚说明哪边卡住。 04/13 23:20