Seite 1 von 1

Funktion plotten

Verfasst: Montag 6. März 2017, 14:53
von dchingi
Hallo zusammen,
ich versuche mich gerade ein an Python heran zu tasten und verstehe folgendes nicht.
Wenn ich diesen Ausdruck plotte, spuckt mir Python einen Graph aus.

Code: Alles auswählen

t = np.arange(0, 6, 0.1)
a = 2
tau = 1
t0 = 1
x = 1 + a * np.exp(-1*(t-t0)/tau)
plt.plot(x)
Wenn ich aber das ganze in einer Funktion darstellen will, dann passiert nichts:

Code: Alles auswählen

t = np.arange(0, 6, 0.1)
def p1(t, a = 2, tau = 1, t0 = 1):
    return 1 + a * np.exp(1*(t-t0)/tau)
plt.plot()
Kann mir jemand sagen woran das liegt? Wäre es außerdem besser wenn ich anstatt des "return" auch wieder "x=1 + a * np.exp(1*(t-t0)/tau)" schreibe (Am Ergebnis ändert das nichts)? Wie ihr sehen könnt, ich bin noch ein ziemlicher Anfänger. Ich bin für jede Hilfestellugn dankbar.

Re: Funktion plotten

Verfasst: Montag 6. März 2017, 14:59
von BlackJack
@dchingi: Im ersten Beispiel sagst Du `plot()` in der letzten Zeile was geplottet werden soll ­— x. Und das wird dann auch geplottet.

Im zweiten Beispiel sagst Du `plot()` in der letzten Zeile was geplottet werden soll — *nichts*. Und das wird dann auch geplottet. ;-)

Zur Frage nach dem ``return`` beziehunsgweise Funktionen allgemein: Arbeite am besten mal ein Grundlagentutorial durch. In der Python-Dokumentation ist beispielsweise eines. Sich zusammenraten wie Programmiersprachen funktionieren könnten, funktioniert in der Regel nicht.

Re: Funktion plotten

Verfasst: Montag 6. März 2017, 20:08
von MagBen
Schau Dir das mal an

Code: Alles auswählen

import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(-3,3,601)
y = x**2

plt.plot(x,y)
plt.show()
6 Zeilen um diesen Plot zu erzeugen:
Bild
Das Beispiel ist von
http://www.magben.de/?h1=mathematik_fue ... 2=parabel1

Re: Funktion plotten

Verfasst: Mittwoch 8. März 2017, 09:40
von dchingi
Vielen Dank für die Ratschläge und Hilfestellungen.
@BlackJack: Ja, werde ich zusätzlich zu meinem bisherigen "learning by doing" Ansatz tun. Ich habe auch schon viel gelesen und mir so manches Youtube Video angesehen. Wenn man dann die Sachen mitmacht, klappt das auch ganz gut und ich kann das auch immer nachvollziehen. Nur wenn man dann selbständig etwas zu programmieren versucht, stoße ich schnell an meine Grenzen.