MuPAD Education Group: Kostenlose Materialen für MuPAD Pro:
www.sciface.com/education, schule.mupad.de, studium.mupad.de, mupad.zum.de.

________________________________________________________________________________

 

Inhalt....: Rechengenauigkeit

Kategorie.: Grundkurs

Mathematik: Numerik 

MuPAD.....: 3.1.0

Datum.....: 2004-03-31

Autoren...: Kai Gehrs <acrowley@mupad.de>

Funktionen: |, for, from, to, print, float, DIGITS

________________________________________________________________________________

 

Rechengenauigkeit

 

Dieses Arbeitsblatt ist Bestandteil des MuPAD Grundkurses.

 

In der Einführung zu diesem Kurs haben wir in der Rubrik "Erste Schritte" bereits

gelernt, dass man mit MuPAD wie mit einem gewöhnlichen Taschenrechner rechnen

kann. Wesentlich ist jedoch, dass wir die Genauigkeit, mit der wir Näherungswerte

z.B. für Lösungen von Gleichungen bestimmen, beliebig beeinflußen können.

Gewöhnliche Taschenrechner bieten in der Regel die Möglichkeit, mit 8 signifikanten

Stellen zu rechnen. In MuPAD selbst wird standardmässig mit 10 signifikanten

Stellen gerechnet. Dieser Wert kann jedoch verändert werden. In der Variablen

DIGITS ist stets die Rechengenauigkeit (standardmäßig der Wert 10) gespeichert.

Wir könnten also durch die Zuweisung DIGITS:= 1000 fortan mit 1000-stelliger

Genauigkeit rechnen.

 

Nun kann man sich fragen, wozu eine so hohe Genauigkeit nutzen soll. Den Grund

kann man schon an einem ganz einfachen Beispiel erkennen: Wir betrachten die

quadratische Gleichung

 

x^2 + 2*x + 1/i = 0

math

für die Werte i = 1, 2, 3, ... , 12. Für jedes i besitzt die entsprechende Gleichung

genau zwei Lösungen. Aus Übersichtsgründen berechnen wir im folgenden nur

Näherungswerte für eine dieser beiden Lösungen:

 

for i from 1 to 12 do

  print(Unquoted,"i = ".expr2text(i),

                 " x = ".expr2text(float( -1 - sqrt(1 - 1/(10^i)) )))

end_for:

i = 1,  x = -1.948683298

i = 2,  x = -1.994987437

i = 3,  x = -1.999499875

i = 4,  x = -1.999949999

i = 5,  x = -1.999995

i = 6,  x = -1.9999995

i = 7,  x = -1.99999995

i = 8,  x = -1.999999995

i = 9,  x = -1.999999999

i = 10,  x = -2.0

i = 11,  x = -2.0

i = 12,  x = -2.0

 

Die auf diese Weise berechneten Werte suggerieren, dass eine der beiden

Lösungen der Gleichung für alle i > 9 durch x = -2.0 gegeben ist. Die mathema-

tische Intuition sagt uns an dieser Stelle, dass dies auf keinen Fall korrekt sein

kann. Wir prüfen die letzten drei Ergebnisse für i = 10, i = 11, i = 12 nach, indem

wir den den Wert x = -2.0 in die entsprechende Gleichung einsetzen:

 

x^2 + 2*x + 1/(10^10) | x = -2;

x^2 + 2*x + 1/(10^11) | x = -2;

x^2 + 2*x + 1/(10^12) | x = -2

math

math

math

Wir haben also tatsächlich ein Problem, denn die linken Seiten der Gleichungen

denken gar nicht daran Null zu werden. Man nennt dieses Phänomen in der nu-

merischen Fachsprache "Auslöschung". In unserem Fall tritt Auslöschung auf,

weil wir einfach mit zu geringer Genauigkeit rechnen. Daher erhöhen wir die

Genauigkeit auf 20 signifikante Stellen und führen unsere obigen Berechnungen

erneut durch:

 

DIGITS:= 20:

for i from 1 to 12 do

  print(Unquoted,"i = ".expr2text(i),

                 " x = ".expr2text(float( -1 - sqrt(1 - 1/(10^i)) )))

end_for:

i = 1,  x = -1.9486832980505137996

i = 2,  x = -1.9949874371066199547

i = 3,  x = -1.9994998749374609101

i = 4,  x = -1.9999499987499374961

i = 5,  x = -1.9999949999874999375

i = 6,  x = -1.9999994999998749999

i = 7,  x = -1.99999994999999875

i = 8,  x = -1.9999999949999999875

i = 9,  x = -1.9999999994999999999

i = 10,  x = -1.99999999995

i = 11,  x = -1.999999999995

i = 12,  x = -1.9999999999995

 

Wie man sieht, liegen die Lösungen für wachsendes i zwar sehr nahe bei x = -2.0,

aber sie unterscheiden sich dennoch minimal von diesem Wert.

 

________________________________________________________________________________

 

Anmerkungen:

1.  Weitere Anregungen finden Sie in der Buchreihe Mathematik 1 x anders. In dieser Reihe

     wird eine Vielzahl unterschiedlichster mathematischer Probleme mit MuPAD gelöst. Die

     Bücher können unter www.schule.mupad.de/literatur kostenfrei kopiert werden.

 

________________________________________________________________________________

 

 

 

MuPAD Education Group: Kostenlose Materialen für MuPAD Pro:
www.sciface.com/education, schule.mupad.de, studium.mupad.de, mupad.zum.de.