4

나는 Julia에 처음으로 익숙하며 현재 미분 방정식을 푸는 방법을 배우고 있습니다. Christopher Rackauckas가 작성한 간단한 코드를 실행하려고했지만 오류가 발생했습니다. 코드는 here입니다. 또한 여기를 작성합니다 :DifferentialEquations.jl에 대한 문제

using DifferentialEquations 
alpha = 0.5 #Setting alpha to 1/2 
f(y,t) = alpha*y 
u0 = 1.5 
prob = ODEProblem(f,u0) 
timespan = [0,1] # Solve from time = 0 to time = 1 
sol = solve(prob,timespan) # Solves the ODE 
using Plots 
plot(sol) # Plots the solution using Plots.jl 

그리고 오류 내가 갖는 모습을 다음과 같이 :

LoadError: MethodError: no methof matching DiffEqBase.ODEProblem{uType,tType,isinplace,FC;MM}(::#f, ::Float64)

나는 또한 다른 유사한 코드를 실행하려고, 심지어 DifferentialEquations.jl의 -package을 제거하고 다시 설치했지만 아무것도 변경되지 않았습니다.

누구나 내가 잘못 생각한 경험이 있습니까?

답변

5

블로그 게시물은 꽤 오래 전부터 나온 것입니다. 또는 적어도 DifferentialEquations 1.0에는이 부분에서 몇 가지 중요한 변경 사항이있었습니다. 이 예제를 최신 버전으로 수정하는 the tutorial instead을 사용해야합니다. 해결책은 다음과 같습니다.

using DifferentialEquations 
alpha = 0.5 #Setting alpha to 1/2 
f(y,t) = alpha*y 
u0 = 1.5 
tspan = (0.0,1.0) # Solve from time = 0 to time = 1 
prob = ODEProblem(f,u0,tspan) 
sol = solve(prob) # Solves the ODE 
using Plots 
plot(sol) # Plots the solution using Plots.jl 

이제 사람들이 저의 오래된 게시물을보고 있다는 것을 알았으므로 올바른 구문을 업데이트했습니다.

+0

Chris 님 감사합니다! 이제는 코드가 제대로 작동합니다. – maikkirapo