Ich versuche ein Programm zu programmieren, das eine Funktion auf verschiedene Arten (Euler, Runge ...) integriert und die eingebaute Funktion scipy.integrate.odeint verwendet.Tuple-Indizes müssen ganze Zahlen sein, nicht Tupel, Matplot
Alles und ich bekomme die richtigen Ergebnisse, aber ich muss auch ein Diagramm mit den Ergebnissen erstellen und das ist dann, wenn alles schief geht. Für die Odeint-Funktion kann ich das Diagramm nicht zeichnen. Hier ist mein Code und der Fehler, ich hoffe, jemand wird mir helfen können.
def odeint(phi, t0tf, Y0, N):
T6=numpy.zeros((N+1))
T6[0]=t0tf[0]
h=(t0tf[1]-t0tf[0])/N
for i in range (N):
T6[i+1]=T6[i]+h
def f(t,x):
return phi(x,t)
Y6 = scipy.integrate.odeint(f,Y0,T6, full_output=True)
return Y6
Y6 = edo.odeint(phi, t0tf, Y0, N)
T6Y6 = numpy.hstack([Y6])
print("Solutions Scipy :")
print()
print(T6Y6)
print()
mpl.figure("Courbes")
mpl.plot(Y6[0:N,0],Y6[0:N,1],color="yellow",label="Isoda")
mpl.show()
Und der Fehler ist:
mpl.plot(Y6[0:N,0],Y6[0:N,1],color="yellow",label="Isoda")
TypeError: tuple indices must be integers, not tuple
Vielen Dank im Voraus (PS: Ich bin französisch so könnte meine Sätze irgendwie wackelig)
Können Sie bitte die vollständige Traceback-Funktion verwenden und genügend Informationen enthalten, damit wir Ihr Beispiel kopieren, einfügen und ausführen können? – tacaswell