Wie erstellt man einen Funktionsplot?

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
3141
User
Beiträge: 2
Registriert: Mittwoch 27. Oktober 2021, 07:27

Hallo liebes Forum,
ich bin neu hier und brauche wohl noch etwas Eingewöhnungszeit.

Was programmieren angeht bin ich absoluter Anfänger, aber möchte gerne Mathematikorientiertes programmieren erlernen.

Unter anderem möchte ich aktuell mir eine Kurvenschar plotten lassen.

Etwa die Funktionen f_C(x)=x^2+C für irgendwelche C-Werte.

Leider stoße ich dabei auf ein paar Probleme.
Ich benutze PyCharm.

Meine ersten Zeilen sind:

import matplotlib.pyplot as plt
import numpy as np

Dies führt bereits zu einem Fehler in Zeile 1.
" ModuleNotFoundError: No module named 'matplotlib' "

Könnt ihr mir weiterhelfen?
Vielen Dank im voraus.
rogerb
User
Beiträge: 878
Registriert: Dienstag 26. November 2019, 23:24

Hallo 3141,

Die Fehlermeldung bedeutet, das matplotlib nicht in deiner Pythoninstallation gefunden werden kann.
Matplotlib ist ein externes Python-Paket. Nach der Installation der Grundfunktionalität steht das noch nicht zur Verfügung. Daher muss das nachinstalliert werden.
Das kann man auch direkt in PyCharm tun.
Mach am Besten mal eine Suche nach "Matplotlib in PyCharm installieren"

Das gleiche gilt auch für numpy. Es kann also passieren, dass du das auch noch nach installieren must.
einfachTobi
User
Beiträge: 512
Registriert: Mittwoch 13. November 2019, 08:38

Du musst zunächst das Paket, welches das Modul enthält installieren. Beachte: PyCharm will standardmäßig eine venv pro Projekt anlegen. Wenn du das getan hast, musst die Pakete natürlich auch darin installieren. Die Anleitung zeigt dir wie es geht: https://www.jetbrains.com/help/pycharm/ ... r-settings
3141
User
Beiträge: 2
Registriert: Mittwoch 27. Oktober 2021, 07:27

Danke für die Antworten.

Gibt es eine alternative zu PyCharm, die diese ganzen Downloads automatisch ausführt?

Könnt ihr mir sagen, wie ich diese Funktionen plotten kann, für variierende C-Werte?
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

Nein, das gibt es nicht. Es gibt Pakete wie anaconda + jupyter, die haben ggf. schon vieles dabei, weil sie sich auf scientific computing (und das heisst ueblicherweise Visualisierung) spezialisiert haben. Aber das ein beliebiges Paket auf Anforderung automatisch installiert wird, das geht (und sollte nicht) gehen.

Wenn du mit sowas kaempfst, ist ggf. matlab eher etwas fuer dich, wobei ich nicht weiss, wie weit die freie Variante funktioniert.
rogerb
User
Beiträge: 878
Registriert: Dienstag 26. November 2019, 23:24

Könnt ihr mir sagen, wie ich diese Funktionen plotten kann, für variierende C-Werte?
Zum Beispiel so:

Code: Alles auswählen

import matplotlib.pyplot as plt
import numpy as np

# 100 x Werte von -3 bis + 3
x = np.linspace(-3, 3, 100)

# beliebige c - Werte
c_values = [1, 2, 3, 4]


# Liste von Funktionen für jeden c-Wert
functions = [x**2 + c for c in c_values]

# plot Achsen vorbereiten
fig, ax = plt.subplots()

# jede Funktion der Funktionsschar plotten
for function in functions:
    ax.plot(x, function)

# Label und Titel beschriften
ax.set(xlabel='x', ylabel='y',
       title='Kurvenschar')

# label für Legende generieren
c_label = [f"c={c_wert}" for c_wert in c_values]

# Legende anlegen
ax.legend(c_label)

# Raster einschalten
ax.grid()


# plot ausgeben
plt.show()
Antworten