1
줄리아 언어로 일반 Runge-Kutta 단계 함수를 구현하고 싶습니다. 파이썬에서는이 RK4 함수가 입력으로받는 인수 중 하나로서 함수를 전달할 수 있습니다. 줄리아에서 그렇게한다면 성과가 있습니까?인수로 함수를 효율적으로 사용
내 기능은 다음과 같다 :
시 모델의 매개 변수를 갖는 줄리아 타입이function uv_rk4_step(rhs,Vs,Ps)
Vs_k1 = rhs(Vs,Ps)
Vs_k1 = Ps.dt*Vs_k1
Vs_k2 = rhs((Vs+(1/2)*Vs_k1),Ps)
Vs_k2 = Ps.dt*Vs_k2
Vs_k3 = rhs((Vs+(1/2)*Vs_k2),Ps)
Vs_k3 = Ps.dt*Vs_k3
Vs_k4 = rhs((Vs+(1/2)*Vs_k3),Ps)
Vs_k4 = Ps.dt*Vs_k4
Vs_next = Vs+(1/6)*Vs_k1+(1/3)*Vs_k2+(1/3)*Vs_k3+(1/6)*Vs_k4
end
가 대는 ODE의 변수의 다차원 배열이고, 우측은 우측 인 (부분 시간 도함수).
예를 들어, 여기에
map
기능을위한 하나의 방법의 간단한 구현입니다. 문제가 무엇입니까? –그냥 @FengyangWang의 코멘트에 추가; v0.4에서는 인수로서의 기능이 다소 느려서 어떤 사람들은이를 피했지만, v0.5에서는이 기능이 수정되었습니다. 관련 github 끌어 오기 요청은 여기에 있습니다 (https://github.com/JuliaLang/julia/pull/13412) –
네, 내 질문에이 기능을 전달하는지 여부를 "올바른"방법으로 추가해야합니다. 줄리아에서, 또는 더 느린 코드가 발생합니다 .. – Ohm