ich habe vor ca. 2 Wochen mit Python angefangen und bearbeite gerade eine Übungsaufgabe und bin mit meinem (sehr bescheidenen) Latein am Ende.
Die Aufgabe ist ein Polynom 10 Grades mithilfe der SciPy-Routine lagrange zu erstellen.
Mit x-Werten von 0-1 in 0.1er Schritten. Die Funktion ist sin^2(4*pi*x). Ich soll das Polynom an den Stützstellen 0:1:0.1 berechnen.
Hier mein Code:
import numpy as np
import matplotlib.pyplot as plt
from scipy import interpolate
x=np.arange(0,1.1,0.1)
A=np.zeros([11,2])
A[:,0]=x
y=np.sin(x*4*np.pi)**2
A[:,1]=y
plt.plot(A[:,0],A[:,1],'o',label="Sinus",c="k")
p10=interpolate.lagrange(A[0:1.0:0.1,0],A[0:1.0:0.1,1])
xnew=np.arange(0,1,0.1)
ynew=np.arange(-7,3,1)
plt.plot(xnew,ynew,label="Polynom Ordnung 10",linestyle="-",c="b")
plt.legend(loc="lower right")
plt.show()
Ich bekomme die Fehlermeldung:
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-18-03d1a69fdc5a> in <module>
11 plt.plot(A[:,0],A[:,1],'o',label="Sinus",c="k")
12
---> 13 p10=interpolate.lagrange(A[0:1.0:0.1,0],A[0:1.0:0.1,1])
14 xnew=np.arange(0,1,0.1)
15 ynew=np.arange(-7,3,1)
TypeError: slice indices must be integers or None or have an __index__ method
Ich weiß nicht wie ich hier zu einer Lösung kommen soll.
PS: Die Achsenwerte sind vorgeben.
Es wäre super wenn mir hier jemand helfen kann

Vielen Dank und liebe Grüße