Seite 1 von 1

Odeint Parameter mit Grenzwert

Verfasst: Donnerstag 15. Juni 2017, 18:33
von Pumpkinpy
Hallo liebes Forum,

ich beschäftige micht zur Zeit mit DGL's und deren Lösung mit odeint. Und zwar stehe ich vor dem Problem, dass ich ein DGL System habe. Die Werte nach denen Entwickelt wird haben allerdings die Grenze 0. Ich hoffe man konnte verstehen was ich ausdrücken wollte.
Habe dazu mal etwas Code das mein Problem vielleicht besser veranschaulicht. Die abfallende Gerade die gezeigt wird darf dabei minimal den Wert 0 annehmen, habe aber keine Ahnung wie ich das Realisieren soll. Danke für eure Mithilfe.

Code: Alles auswählen

import matplotlib.pyplot as plt
import scipy.integrate as sci
import numpy as np

def con(c, t):
        
    adt = b_1
    bdt = -adt

    return( (adt, bdt))

b_1 = -0.5
b_2 = 0.5
c0 = [1, 0]

t = np.linspace(0 , 10, 1000)

sol = sci.odeint(con, c0 , t)

plt.plot(t, sol[:,0], 'r-' )
plt.plot(t, sol[:,1], 'b-' )
plt.show()

Re: Odeint Parameter mit Grenzwert

Verfasst: Freitag 16. Juni 2017, 20:47
von Sr4l

Code: Alles auswählen

def con(c, t):
    adt = b_1
    bdt = -adt
    
    if (c[0]) < 0:
        adt = 0
 
    return( (adt, bdt))
Aber dein Beispiel ist etwas komisch dafür braucht man keine speziellen Verfahren.

Re: Odeint Parameter mit Grenzwert

Verfasst: Montag 19. Juni 2017, 15:24
von Pumpkinpy
Danke dir.
An so eine einfache Lösung hab ich gar nicht gedacht :?
Naja manchmal sieht man den Wald vor Bäumen nicht.