Odeint Parameter mit Grenzwert

mit matplotlib, NumPy, pandas, SciPy, SymPy und weiteren mathematischen Programmbibliotheken.
Antworten
Pumpkinpy
User
Beiträge: 10
Registriert: Freitag 26. Mai 2017, 11:45

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()
Zuletzt geändert von Anonymous am Donnerstag 15. Juni 2017, 20:12, insgesamt 1-mal geändert.
Grund: Quelltext in Python-Codebox-Tags gesetzt.
Benutzeravatar
Sr4l
User
Beiträge: 1091
Registriert: Donnerstag 28. Dezember 2006, 20:02
Wohnort: Kassel
Kontaktdaten:

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.
Pumpkinpy
User
Beiträge: 10
Registriert: Freitag 26. Mai 2017, 11:45

Danke dir.
An so eine einfache Lösung hab ich gar nicht gedacht :?
Naja manchmal sieht man den Wald vor Bäumen nicht.
Antworten