作者saisai60 (勒勒)
看板MATLAB
标题[讨论] 连续解ODE
时间Wed Oct 17 15:44:15 2012
先附上其中有问题之程式码
for g2=1:15000
fx=ph(g2);
Inp=aini;
[X1,Y1] = ode23(@ODE_Func, [(g2-1)*dx g2*dx],Inp,options,...);
ind = size(X1,1);
aini=[Y1(ind,1) Y1(ind,2) Y1(ind,3) Y1(ind,4)];
end
程式目的是一过程经过连续ODE的最後结果,每一格ODE之结果为下一格ODE之初使条件,
但由於计算量实在过大,计算天数超过百天,有没有办法在不使用Mex的方式下,
再将以上程式简化呢?
请教各位了,谢谢。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.115.42.210
1F:→ okgogogo:fx做何用? 为何要放在回圈里? 10/17 17:44
2F:→ saisai60:Fx为函数变数 每移动x, Fx将会为正一或是负一 10/18 14:01
3F:→ saisai60: 每移动dx Fx=-1 or +1 , +1,-1没有规律性 10/18 14:02
4F:推 gaviniscool:ODE放回圈内MATLAB我还没找到好方法 01/13 13:44
5F:→ gaviniscool:算蛮慢的,改用C++的ODEINT库 再写成MEX给MTLAB呼叫 01/13 13:45
6F:→ gaviniscool:快了一百倍 01/13 13:45