Seite 2 von 2

Re: Gebrochenrationale Funktionen

Verfasst: Dienstag 15. Oktober 2013, 12:59
von Jaga
Nehmen wir mal als Beispieldie Funktion 1/x.
Startwert: -5
Endwert: 5
Genauigkeit: 0.1

Wenn ich mir die x-Werte ausgeben lasse, erhalte ich ja die oben schon erwähnte Matrix mit allen Werten für x im Abstand von 0.1.
Also -5.0 -4.9-4.8 usw.
Man sollte dann ja auch davon ausgehen, dass man bei 0 auch 0 erhält und nicht -1,77*10**-14.
Dementsprechend verunstaltet sind dann die y-Werte auch.

Gibt es keine Möglicheit die gesamte Matrix im Prinzip zu runden?
Bei einzelnen floats ist das ja mit format möglich.

Re: Gebrochenrationale Funktionen

Verfasst: Dienstag 15. Oktober 2013, 13:47
von Sirius3
@Jaga: dass Du für x keine exakten Werte bekommst, ist nicht Dein Problem. Abweichungen von 10^-14 spielen gerade bei der Darstellung von Funktionen keine Rolle.

Re: Gebrochenrationale Funktionen

Verfasst: Dienstag 15. Oktober 2013, 17:28
von Jaga
@ Sirius3 und wie das eine Rolle spielt va für Polstellen usw.
@ BlackJack und wie das geht! Problem ist gelöst und zwar so:


self.x = np.around(self.x, 10)

Hier werden alle Werte in der Matrix einfach auf 10 Dezimalstellen gerundet und alles ist wunderbar!! :!: :!:

Re: Gebrochenrationale Funktionen

Verfasst: Dienstag 15. Oktober 2013, 18:21
von EyDu
Jaga hat geschrieben:@ Sirius3 und wie das eine Rolle spielt va für Polstellen usw.
Das spielt gar keine Rolle, dir ist nur nicht klar, wie klein 10^(-14) ist. Auf 10^(-14) Meter passen zum Beispiel etwa ein halbes Dutzend Protonen. Wenn du deine Graphen nicht gerade unter einem Elektronenmirkoskop anschaust, dann wirst du das schwerlich erkennen können.

Re: Gebrochenrationale Funktionen

Verfasst: Dienstag 15. Oktober 2013, 22:42
von Sirius3
@EyDu: da sich der Fragensteller mit seiner scheinbar richtigen Lösung des Problems zufrieden gibt, hier trotzdem die Auflösung des Rätsels, damit andere Threadleser nicht dumm sterben:
Durch die kleine Abweichung von 0 wird 1/x nicht zu »inf« sonder zu einem sehr großen Wert.
Matplotlib passt beim Plotten die y-Achse entsprechend an, so dass es aussieht, als ob alle anderen y-Werte 0 wären. Ist x dagegen exakt null, ist 1/x=inf und der Wert wird beim Plotten ignoriert, die y-Achse geht also von -10 bis +10 und der Dau sieht die typischen 1/x-Kurven.