TypeError: 'tuple' object is not callable
Verfasst: Donnerstag 28. Mai 2020, 09:53
Hallo zusammen!
Nachdem ich mich durch einige Seiten gelesen habe, aber leider nicht auf die Lösung für mein Problem komme, versuche ich es hier.
Ich habe schon herausgefunden, das "TypeError: 'tuple' object is not callable" auftritt, wenn ein Komma fehlt. In meinem Fall weiß ich aber nicht, wo so eines hin müsste.
Zur Aufgabe:
Wir sollten eine Methode eval_discrete() schreiben, die eine reelle Funktion an n äquidistanten Stellen im Intervall auswertet. Diese sieht bei mir wie folgt aus:
Versuche ich nun meine Funktion f(x) mit der Methode eval_discrete() zu plotten bekomme ich die o.g. Fehlermeldung
Soweit ich das verstehe liegt der Fehler also in meiner Plotfunktion und daran, dass irgendwo wohl ein Komma fehlen muss .
Könnte mir bitte jemand sagen wo mein Fehler liegt?
Hier auch noch meine Plotfunktion, da es ja anscheinend hier hakt.
Vielen Dank für eure Hilfe!
Nachdem ich mich durch einige Seiten gelesen habe, aber leider nicht auf die Lösung für mein Problem komme, versuche ich es hier.
Ich habe schon herausgefunden, das "TypeError: 'tuple' object is not callable" auftritt, wenn ein Komma fehlt. In meinem Fall weiß ich aber nicht, wo so eines hin müsste.
Zur Aufgabe:
Wir sollten eine Methode eval_discrete() schreiben, die eine reelle Funktion an n äquidistanten Stellen im Intervall auswertet. Diese sieht bei mir wie folgt aus:
Code: Alles auswählen
def eval_discrete(n, intervall, fkt):
# x-werte ist die Liste der Stützstellen
x_werte = np.linspace(intervall[0], intervall[-1], n)
#Funktionswerte an gegebenen Stützstellen
fx_werte = fkt(x_werte)
return x_werte, fx_werte
Code: Alles auswählen
# für f(x)
# n ist Anzahl der äquidistant verteilten Stellen
n = 50
# 𝐼𝑓=[−2,2] ist Intervall, auf dem f geplottet werden soll
I_f = [-2, 2]
fkt = fkt_f
plotFunk(I_f, eval_discrete(n, I_f, fkt))
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-4-4a48ffbba8fb> in <module>
7
8
----> 9 plotFunk(I_f, eval_discrete(n, I_f, fkt))
<ipython-input-2-61902a5bb560> in plotFunk(intervall, fkt, plotPoints, show)
5 x = np.linspace(intervall[0], intervall[1], plotPoints)
6 # Berechnung der Funktionswerte an diesen diskreten Punkten
----> 7 fx = fkt(x)
8
9 plt.plot(x, fx)
TypeError: 'tuple' object is not callable
Könnte mir bitte jemand sagen wo mein Fehler liegt?
Hier auch noch meine Plotfunktion, da es ja anscheinend hier hakt.
Code: Alles auswählen
def plotFunk(intervall, fkt=fkt_f, plotPoints=300, show=True):
# Diskretisierung des Intervalls auf dem geplottet werden soll
x = np.linspace(intervall[0], intervall[1], plotPoints)
# Berechnung der Funktionswerte an diesen diskreten Punkten
fx = fkt(x)
plt.plot(x, fx)
# Nullfunktion einzeichnen
plt.plot([x[0], x[-1]], np.zeros(2))
plt.title('Graph der Funktion auf ' + str(intervall))
if intervall == [-2,2]:
plt.xlabel('x')
plt.ylabel('fx')
else:
plt.xlabel('x')
plt.ylabel('gx')
if show:
plt.show()
plotFunk([-2, 2], fkt_f)