|
|
Warum ergibt das nicht Null? |
|
deranda |
Forum-Newbie
|
|
Beiträge: 2
|
|
|
|
Anmeldedatum: 11.09.20
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 11.09.2020, 09:06
Titel: Warum ergibt das nicht Null?
|
|
Hallo zusammen,
ich stehe gerade auf dem Schlauch!
wenn ich folgende Rechnung mache, spuckt mir Matlab nicht Null sondern
aus:
Wenn man jedoch eingibt:
Dann erhält man tatsächlich 0
Das ergibt garkeinen Sinn in meinen Augen!
Hintergrund ist:
Ich möchte den Vorwärts-Differenzenquotienten für die zweite Ableitung berechnen
->
Da das in meinen Simulationen gebraucht wird, sollte die Ableitung schon vernünftig laufen, da ich sonst nicht sicher bin, ob mir das dadruch abschmiert!
Hat jemand eine Idee?
Gruß
Nils
|
|
|
|
|
T16 |
Forum-Century
|
|
Beiträge: 145
|
|
|
|
Anmeldedatum: 31.01.18
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 11.09.2020, 09:25
Titel:
|
|
Das liegt daran, dass der Computer alle Zahlen binär speichern muss. Eine exakte Repräsentation ist da nur bei wenigen Zahlen möglich, in den allermeisten Fällen kommt es zu Rundungsfehlern die aber (in den allermeisten Fällen) so klein sind, dass man sie getrost ignorieren kann. Das Ganze kannst du dir einmal hier verdeutlichen:
https://www.binaryconvert.com/resul.....5051048048046048048049053
Das ist kein matlabspezifisches Problem, sondern tritt in allen Programmiersprachen auf. Man kann versuchen den Fehler zu verringern indem man mehr und mehr bytes zum Abspeichern der Variablen benutzt, das wirkt sich aber i.d.R. nur auf die Rechenzeit aus und bringt in den meisten Fällen keinen wirklichen Mehrwert.
|
|
|
deranda |
Themenstarter
Forum-Newbie
|
|
Beiträge: 2
|
|
|
|
Anmeldedatum: 11.09.20
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 11.09.2020, 09:39
Titel:
|
|
Top danke,
ich setze mal Testcases auf und schaue, ob sich was aufschwingt. Aber wenn ich das eh mit einem Zeitschritt von 1e-4 multipliziere kann es gut sein, dass sich da nichts bewegt
Schönes Wochenende
|
|
|
Andreas Goser |
Forum-Meister
|
|
Beiträge: 3.654
|
|
|
|
Anmeldedatum: 04.12.08
|
|
|
|
Wohnort: Ismaning
|
|
|
|
Version: 1.0
|
|
|
|
|
|
Verfasst am: 11.09.2020, 10:15
Titel:
|
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2025
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|