我想在Python中實現我自己的基本Runge-Kutta 4集成器。格式應該是這樣的:將一組函數作爲參數傳遞給Python中的另一個函數
---- EXAMPLE set of equations ----
f1 = lambda x: x**2
f2 = lambda y: y**2
.
.
.
fn = lambda n: n**2
f = [f1, f2, f3, ... , fn]
result = integrate(f, other arguments [e.g. stepsize etc.])
---- result should be of format ----
result = [result1 result2 result3 ... resultn]
所以基本上我希望能夠來定義,例如,一組運動的三個方程,並能夠將這些傳遞給函數和訪問它們操縱這些函數內部的方程。這怎麼可能?
理想情況下,我想才達到類似Matlabs ODE45功能的東西,它可以被稱爲舉例如下:
% ---- file 1 ---- %
function xp=F(t,x)
xp=zeros(2,1);
xp(1)=x(2);
xp(2)=-t*x(1)+exp(t)*x(2)+3*sin(2*t);
% ---- file 2 ---- %
[t,x]=ode45(’file 1’,[t0,tf],[x10,x20]);
% where t0 tf initial and final values of t
% x10 x20 initial values of x
注1:
我已經看了源dopri5在SciPy的,但它以C語言實現,而且我的目的遠遠超前。
注2:
讓我知道如果有什麼我上面寫的是不明確的,在所有的,這
僅供參考,你知道這可能會很慢,對吧? – katrielalex 2012-03-08 19:39:30