Werteübergabe in Liste

mit matplotlib, NumPy, pandas, SciPy, SymPy und weiteren mathematischen Programmbibliotheken.
Antworten
rob_bes
User
Beiträge: 8
Registriert: Sonntag 23. Januar 2022, 19:31

Servus zusammen!

Kurze Schilderung meiner Situation: Ich habe einen Code für eine Nullstellenbestimmung geschrieben und möchte nun hieraus das Ergebnis in den Scatter von Matplotlib übergeben, um die Nullstellen in einem Graph somit farbig zu markieren.
Ich frage mich nur, wie ich ein Ergebnis als eine Variable oder sonst was speichern kann, um dann diese in den Scatter einzufügen, um nicht immer die Nullstellen manuell eingeben zu müssen.
Ich hoffe die Frage ist verständlich - sonst führe ich das Ganze auch noch weiter aus.

Vielen Dank vorab!

Beste Grüße

Robin

PS: Ich bin Anfänger :)
__deets__
User
Beiträge: 14494
Registriert: Mittwoch 14. Oktober 2015, 14:29

Code: Alles auswählen

ergebnis = nullstellen_bestimmung()
Mehr gibt es dazu eigentlich nicht zu sagen. Da muesstest du dann wohl weiter ausholen, was genau du tust und was nicht geht.
rob_bes
User
Beiträge: 8
Registriert: Sonntag 23. Januar 2022, 19:31

__deets__ hat geschrieben: Montag 24. Januar 2022, 17:54

Code: Alles auswählen

ergebnis = nullstellen_bestimmung()
Mehr gibt es dazu eigentlich nicht zu sagen. Da muesstest du dann wohl weiter ausholen, was genau du tust und was nicht geht.
Guten Abend! Danke erstmal für die Antwort. Ich glaube ich hole mal aus - wie gesagt, bin noch Anfänger :)

Meine Nullstellenbestimmung:

Code: Alles auswählen

import sympy

def newton(func, x, n):
    func = sympy.sympify(func)
    ableitung = sympy.diff(func)
    
    f = sympy.lambdify("x", func)
    df = sympy.lambdify("x", ableitung)
    
    for _ in range(n):
        x = x - f(x) / df(x)
    return x, n

def main():    
    func = input("Funktion: ")
    x, n = newton(func, 1, 1000)
    print(f"Die Nullstelle wurde bei {x} nach {n} Iterationen gefunden")
    
if __name__ == "__main__":
    main()
Hieraus würde ich dann gerne das x quasi herausnehmen (welches ich in der main() im Print-Befehl ausgebe), also welches die Nullstelle angibt. Kann ich das irgendwie als Variable oder so speichern, um quasi beliebig weiter zu benutzen?
Hoffe es ist ersichtlich, was mein Plan ist!
Besten Dank vorab.
LG
Sirius3
User
Beiträge: 17712
Registriert: Sonntag 21. Oktober 2012, 17:20

Da Du diese Frage stellst, hast Du den Code noch nicht verstanden. Du hast bereits eine Variable `x`.
Das kannst Du nicht nur per `print` ausgeben, sondern natürlich auch für einen Plot verwenden.
__deets__
User
Beiträge: 14494
Registriert: Mittwoch 14. Oktober 2015, 14:29

Den Code hast du selbst geschrieben, aber wie Variablen funktionieren weißt du nicht? 🧐
Sirius3
User
Beiträge: 17712
Registriert: Sonntag 21. Oktober 2012, 17:20

@__deets__: der Code stammt von mir.
__deets__
User
Beiträge: 14494
Registriert: Mittwoch 14. Oktober 2015, 14:29

“Ich habe einen Code für eine Nullstellenbestimmung geschrieben” ist dann also glatt gelogen. Chuzpe muss man dazu wohl sagen.
einfachTobi
User
Beiträge: 491
Registriert: Mittwoch 13. November 2019, 08:38

Zum Thema: Du hast `x` bereits als Variable vorliegen und kannst damit anstellen, was du möchtest. Zum Beispiel auch plotten. Wenn dir dieser Zusammenhang noch nicht klar ist, empfehle ich das Python-Tutorial durchzuarbeiten, damit du zunächst die Grundlagen lernst.
rob_bes
User
Beiträge: 8
Registriert: Sonntag 23. Januar 2022, 19:31

__deets__ hat geschrieben: Dienstag 25. Januar 2022, 08:14 “Ich habe einen Code für eine Nullstellenbestimmung geschrieben” ist dann also glatt gelogen. Chuzpe muss man dazu wohl sagen.
Sorry! Das ist richtig - das war wohl falsch ausgedrückt, der Code ist von Sirius. Sorry nochmal.

Werde wohl erstmal das Python-Tutorial durchgehen - also von Grund auf anfange :)

Danke euch!
rob_bes
User
Beiträge: 8
Registriert: Sonntag 23. Januar 2022, 19:31

Sirius3 hat geschrieben: Montag 24. Januar 2022, 23:05 Da Du diese Frage stellst, hast Du den Code noch nicht verstanden. Du hast bereits eine Variable `x`.
Das kannst Du nicht nur per `print` ausgeben, sondern natürlich auch für einen Plot verwenden.
Danke dir nochmal! Und sorrry, wollte nicht deinen Code als meinen ausgeben - war nicht so gemeint.

Ich gucke mir die Grundlagen mal in Ruhe an und dann starte ich nochmal durch :)
Antworten