PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Rundungsfehler in Matlab?


Senior Sanchez
2012-06-26, 15:10:09
Hi,

Ich arbeite hier parallel mit Java und Matlab und mir sind in den Berechnungen doch schon auffallende Rundungsdifferenzen aufgefallen.

Im konkreten integriere ich einen Vektor von Double-Werten per cumtrapz. Diese Funktion habe ich in Java nachimplementiert. Ein einfacher Test (x = [0, 0.1111, 0.2222, 0.3333] integriert) zeigt nun bei Java das Ergebnis 0.49995 während Matlab 0.5000 ausgibt. Ich hab das ganze dann mal mit wolframalpha gegengetestet und das kommt auch auf 0.49995 wie Java.

Matlab soll aber angeblich 16 Nachkommastellen betrachten. Wie kommt es jetzt zu diesen Unterschieden? Oder ist es ein Darstellungsproblem von Matlab, dass nur 4 Nachkommastellen ausgegeben und deshalb gerundet wird?

Danke

Locutus2002
2012-06-26, 15:20:42
Ich würde auf eine reine Ausgabesache tippen. multipliziere das Ergebnis doch mal mit 10, dann sollte die problematische 5te Nachkommastelle nach vorn rücken. Alternativ kannst Du ja eine formatierte fprintf-Ausgabe mit mehr als 4 Nachkommestellen erzeugen (geht schneller als das Ausgabeformat global umzustellen).

ux-3
2012-06-26, 15:28:51
Beide Ergebnisse sind doch für die angegebenen Stellen richtig, oder? Dein letzer Satz dürfte das Problem beschreiben.

Senior Sanchez
2012-06-26, 15:33:44
So, gerade getestet. Es ist einfach ein Darstellungsproblem.