chciałem przechowywać różne etapy integracji podejmowane przez samą solver kiedy ja to nazywam:Python - scipy: Moduł Oda: problem włączeniu opcji stopniową solver
solver1.integrate(t_end)
Więc zrobiłem pętlę while i włączył opcję kroku ustawienie jej wartość True
:
while solver1.successful() and solver1.t < t0+dt:
solver1.integrate(t_end,step=True)
time.append(solver1.t)
Następnie wykreślić y
, wynik integracji i tu mój problem. Mam niestabilności, które pojawiają się w obszarze zlokalizowany:
myślałem, że to ze względu na pętli czy coś takiego więc sprawdziłem wynik usuwania step
:
while solver1.successful() and solver1.t < t0+dt:
solver1.integrate(t_end)
i zaskoczenia. .. mam poprawny wynik:
Jest to zamknąć e dziwna sytuacja ... Byłbym wdzięczny, gdyby ktoś z waszych ludzi pomógł mi w rozwiązaniu tego problemu.
EDIT:
Aby ustawić solver zrobić:
solver1 = ode(y_dot,jac).set_integrator('vode',with_jacobian=True)
solver1.set_initial_value(x0,t0)
I zapisać wynik używając .append()
Can pokazujesz więcej kodu, jak skonfigurować solver i zapisać wynik dla kreślenia? – silvado
Oczywiście, właśnie zredagowałem moje pytanie. – kuider
Nadal nie pokazałeś, jak faktycznie przechowujesz bieżący stan ODE, który nanosisz, zakładając, że wykresy pokazują jedną ze zmiennych stanu ODE. – Nikolas