看板 MATLAB 關於我們 聯絡資訊
先附上其中有問題之程式碼 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
okgogogo:fx做何用? 為何要放在迴圈裡? 10/17 17:44
saisai60:Fx為函數變數 每移動x, Fx將會為正一或是負一 10/18 14:01
saisai60: 每移動dx Fx=-1 or +1 , +1,-1沒有規律性 10/18 14:02
gaviniscool:ODE放迴圈內MATLAB我還沒找到好方法 01/13 13:44
gaviniscool:算蠻慢的,改用C++的ODEINT庫 再寫成MEX給MTLAB呼叫 01/13 13:45
gaviniscool:快了一百倍 01/13 13:45