0 Daumen
370 Aufrufe

Sei a = 3*(10^-16)


warum erhalte ich zum Beispiel bei a+1 = 1.000 ?


des weiteren erhalte ich auch für Gleichungen wie zB: a+5-5-a = -3.0000e-16


Könnte ich den genauen Grund dafür erfahren?

Avatar von

1 Antwort

0 Daumen

Es wird offenbar mit zu wenigen Stellen gerechnet.

Sei a = 3*(10^{-16})


warum erhalte ich zum Beispiel bei a+1 = 1.000 ?


Richtig wäre 1.0000000000000003

Warum Matlab nicht so viele Stellen verwendet, weiss ich nicht. Vielleicht kannst du das anders einstellen.


des weiteren erhalte ich auch für Gleichungen wie zB: a+5-5-a = -3.0000e-16


Rechne von links nach rechts mit etwas weniger Stellen, als von Hand.

a+5-5-a         | erster Schritt

= 5.000 - 5 - a         | zweiter Schritt

= 0 - a

= -3.000 * 10^{-16}

Könnte ich den genauen Grund dafür erfahren?

Man nennt das Auslöschung von Stellen.

Exakt wäre ja  a+5-5-a = 0.0000000000000000000…

Avatar von

Ein anderes Problem?

Stell deine Frage

Willkommen bei der Stacklounge! Stell deine Frage einfach und kostenlos

x
Made by a lovely community