2014-02-05 3 views
3

C++ Boost - odeint 라이브러리를 사용하여 시간 지연 미분 방정식을 풀 수 있습니까? 아래 식 예를 들어 :부스트 odeint를 사용하는 DDE

타우 시간 지연에 대한 상수 값이다
x'(t) = r*x(t)*(1 - x(t-tau)), 

.

답변

2

예, 가능합니다. 그러나 odeint는 DDE를 위해 명시 적으로 설계되지 않았습니다. 이 odeint와 DDEs를 해결하기 위해 두 가지 가능성이 있습니다 :

  1. 고려해야 x와 dependend 변수로는 이산화 역사는 직접 스테퍼를 사용합니다.
  2. x 만 종속 변수로 간주하고 시스템 기능 (r.h.s.s)으로 기록을 전달합니다. 그러나이 경우에는 오일러 (Euler) 또는 RK2와 같은 타임스 펙의 배수로 상태를 평가하는 스테퍼 만 사용해야합니다.

나는 시간이 있으면 내가 좀 더 구체적인 답을 쓰기 어쩌면 약간의 코드 조각과 함께합니다.

+0

감사합니다. 나를 위해 문제가 해결되면 시도해 보겠습니다. – ADK

+0

@headmyshoulder 만약 dhint와 같은 sth을 의미한다면 http://zulko.github.io/blog/2013/10/22/delay-differential-equations-in-python/ 잘 작동하지 않습니다. – Abolfazl

관련 문제