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

________________________________________________________________________________

 

Inhalt....: Das Heron-Verfahren

Kategorie.: Arbeitsblatt

Mathematik: Analysis, Geometrie R^2

MuPAD.....: 3.0.0

Datum.....: 2002-01-17

Autoren...: Vera Verspohl <verav@mupad.de>

Funktionen: DIGITS, plot, plot::Polygon2d, plot::Scene2d

________________________________________________________________________________

 

Das Heron-Verfahren

 

Wir wollen demonstrieren,  wie man einige Schritte des Heron-Verfahrens zur Berechnung

der Wurzel einer Zahl mit MuPAD durchführen kann. Ferner wird auf die geometrische Idee,

welche sich hinter diesem Verfahren verbirgt, eingegangen.

 

Dieses Verfahren ist uns von den Griechen überliefert. Es wird jedoch

angenommen, dass es bereits den Sumerern bekannt war.

 

Es handelt sich um ein geometrisches Verfahren zur Berechnung von

Quadratwurzeln, denn die Griechen assoziierten das Produkt zweier Zahlen

mit dem Flächeninhalt eines Rechtecks oder eines Quadrats.

 

Da wir Wurzeln berechnen möchten, ist es sinnvoll, die Rechengenauigkeit

heraufzusetzen. Wir wollen zunächst mit 25 Gleitkommastellen arbeiten.

 

DIGITS:= 25:

 

Beim Heron-Verfahren wird angenommen, dass der Flächeninhalt eines

Quadrats bekannt ist und dass nun die Seitenlänge ermittelt werden soll. Dies

wird erreicht, indem ein flächengleiches Rechteck mit bekannten Seitenlängen

schrittweise an ein Quadrat angenähert wird:

 

Ein Rechteck p mit dem Flächeninhalt 15FE und ein flächengleiches

Quadrat q:

 

p:= plot::Polygon2d([[0,0], [5,0], [5,3], [0,3]],

                    Color= RGB::Blue):

 

q:= plot::Polygon2d([[0,0], [sqrt(15),0], [sqrt(15),sqrt(15)],

                    [0,sqrt(15)]], Color = RGB::Orange,

                    LineStyle = Dashed):

 

r:= plot::Scene2d(p,q):

 

plot(r)

MuPAD graphics

 

Für das Rechteck wurden hier exemplarisch die Seitenlängen 5FE und 3FE

gewählt.

 

p:= plot::Polygon2d([[0,0], [5,0], [5,3], [0,3]],

                    Color= RGB::Blue):

 

plot(p);

MuPAD graphics

 

Um dieses Rechteck in ein Quadrat zu verwandeln, muss die Länge x gekürzt

und die Höhe h verlängert werden. Hierfür bildet man den Mittelwert:

image

Um einen neuen y-Wert (y1) zu erhalten, dividiert man nun den Flächeninhalt

durch den neuen x-Wert (x1), damit das Produkt

                                                           image

den Flächeninhalt ergibt:

 

x1:= (3+5)/2;

math

y1:=float(15/x1);

math

p1:= plot::Polygon2d([[0,0], [x1, 0], [x1,y1], [0,y1]],

                     Color = RGB::Blue):

 

q:= plot::Polygon2d([[0,0], [sqrt(15),0], [sqrt(15),sqrt(15)],

                     [0,sqrt(15)]],

                    Color=RGB::Orange, LineStyle = Dashed):

 

r1:= plot::Scene2d(p1,q):

 

plot(r1)

MuPAD graphics

Das sieht schon besser aus - berechnen wir nun den nächsten Näherungswert.

Dafür berechnen wir den Mittelwert von x1 und y1:

 

x2:= (x1+y1)/2;

math

y2:=15/x2;

math

p2:= plot::Polygon2d([[0,0], [x2,0], [x2,y2], [0,y2]],

                     Color= RGB::Blue):

 

q:= plot::Polygon2d([[0,0], [sqrt(15),0], [sqrt(15),sqrt(15)],

                     [0,sqrt(15)]],

                    Color = RGB::Orange, LineStyle = Dashed):

 

r2:= plot::Scene2d(p2,q):

 

plot(r2);

MuPAD graphics

Da gelten muss: y2<image<x2, also 3,870967742<image<3,875 haben wir den

gesuchten Wert bereits so genau angenähert, dass zeichnerisch kein Unterschied

mehr zu erkennen ist. Mit nur zwei Iterationsschritten haben wir die Wurzel auf

zwei Nachkommastellen genau bestimmt.

 

Mit der Berechnung können wir fortfahren.

 

x3:= (x2+y2)/2;

y3:= 15/x3

math

math

 

Im 3. Iterationschritt haben wir also eine Genauigkeit von 5 Stellen nach dem

Komma.

 

x4:=(x3+y3)/2;

y4:=15/x4;

math

math

Die Genauigkeit liegt bereits bei 12 Nachkommastellen!

 

Möchte man mehrere Iterationsschritte auf einmal berechnen, besteht die

Möglichkeit dies mit Hilfe der folgenden Prozedur zu tun, bei der die Zahl n,

deren Wurzel man berechnen möchte, der Startwert x0, sowie die Anzahl der

Iterationschritte vorgegeben werden müssen.

 

Heron:= proc(n, x0, Schritte)

      local a, x;

begin

     DIGITS:= 25:

       x:=x0:

     for a from 0 to Schritte do

               y:=n/x:

               print(Unquoted, "x".expr2text(a)." = ".expr2text(float(x))."\t \t y".expr2text(a)." = ".expr2text(float(y))):

               x:= 1/2* (x+y):

         end_for:

      return();

end_proc;

math

 

Heron(13,5,5)

x0 = 5.0                 y0 = 2.6

x1 = 3.8                 y1 = 3.421052631578947368421053

x2 = 3.610526315789473684210526          y2 = 3.600583090379008746355685

x3 = 3.605554703084241215283106          y3 = 3.605547847846995837837378

x4 = 3.605551275465618526560242          y4 = 3.605551275462360059678202

x5 = 3.605551275463989293119222          y5 = 3.605551275463989293119221

 

________________________________________________________________________________

 

Übungen:

1. Berechnen Sie schrittweise die Iteration für sqrt(20) und sqrt(2). Wählen Sie selbst geeignete Startwerte,

    sowie eine geeignete Genauigkeit. Zeichnen Sie außerdem die Rechtecke und Quadrate für die Fälle, in

    denen noch mit "blossem Auge" Unterschiede zwischen Quadrat und Rechteck zu erkennen sind.

 

2. ErweiternSie die Prozedur Heron, so dass zusätzlich zur Berechnung der xi, yi die zugehörigen

     Rechtecke gezeichnet werden.

________________________________________________________________________________

 

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.