6
while solver1.successful() and solver1.t < t0+dt:
solver1.integrate(t_end,step=True)
time.append(solver1.t)
가 그럼 난
y
, 통합의 결과 플롯 여기 내 문제 온다 :
True
그 값을 설정하는 단계 옵션을 활성화. 나는 그것 때문에 그런 루프 또는 뭔가라고 생각
그래서 나는 step
를 제거 결과를 확인 :
while solver1.successful() and solver1.t < t0+dt:
solver1.integrate(t_end)
그리고 놀랍게도 나는 위치 영역에 표시 불안정성이있다.
그것은 그만이야 .. 나는 올바른 결과를 이상한 상황 ... 당신들 중 누군가가이 문제로 나를 도울 수 있다면 고맙겠습니다.
편집 :
내가 솔버를 설정하려면 :
solver1 = ode(y_dot,jac).set_integrator('vode',with_jacobian=True)
solver1.set_initial_value(x0,t0)
그리고 난 당신이 step=True
당신이 간접적으로 vode._integrator.runner
(포트란 서브 루틴)을주고있다을 설정하면 .append()
수이
runner
하는 것에 대해 더 자세한 정보를 얻을 수 있습니다 코드를 좀 더 보여주고, 솔버를 설정하고 플로팅을 위해 결과를 저장하는 방법을 보여줍니다. – silvado물론, 저는 제 질문을 편집했습니다. – kuider
플롯이 ODE 상태 변수 중 하나를 표시한다고 가정하고 플로팅중인 현재 ODE 상태를 실제로 저장하는 방법을 아직 표시하지 않았습니다. – Nikolas