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

________________________________________________________________________________

 

Inhalt....: Das Skalarprodukt (Vademekum)

Kategorie.: Arbeitsblatt

Mathematik: Analysis

MuPAD.....: 3.1.1

Datum.....: 2005-04-04

Autoren...: Raymond Ami <r.ami@bluewin.ch>

Funktionen: matrix, linalg::scalarProduct, assuming, Type::Real

________________________________________________________________________________

 

Das Skalarprodukt (Vademekum)

 

Die folgenden Aspekte des Skalarproduktes von Vektoren werden untersucht:

- Feststellen ob zwei Vektoren rechtwinklig zueinander liegen / orthogonal sind.

- Berechnen der Länge eines Vektors

- Abbilden/Projezieren eines Vektors auf einen andern Vektor

- Bestimmen Winkel zwischen zwei Vektoren

 

Link

http://www.mathe-online.at/mathint/vect2/i.html

 

Das Bilden des Skalarprodukts

 

Das Skalarprodukt wird dadurch gebildet, dass man alle Vektorelemente mit gleichem Index mit-

einander multipliziert und die Summe dieser Produkte bildet. In MuPAD lautet die entsprechende

Funktion linalg::scalarProduct(Vektor1, Vektor2):

 

Va:= matrix([ax,ay,az])

math

Vb:= matrix([bx,by,bz])

math

Wir möchten unsere folgenden Betrachtungen im Raum der reellen Zahlen machen und führen

die Berechnungen daher "unter der Annahme" (assuming) durch, dass alle Bezeichner reell-

wertig (Type::Real) sind:

 

linalg::scalarProduct(Va,Vb) assuming Type::Real

math

Und nun mit numerischen Werten und einer Kotrollrechnung:

 

V1:= matrix([10,11,12])

math

V2:= matrix([20,21,22])

math

linalg::scalarProduct(V1,V2)

math

Kontrolle = V1[1]*V2[1] + V1[2]*V2[2] + V1[3]*V2[3] // = 10*20 + 11*21 + 12*22

math

 

Grafische Interpretation des Skalarprodukts

 

Die folgenden beiden Grafiken zeigen je zwei Vektoren (blau und rot). Die schrafierte Fläche

repräsentiert den Schatten-Wurf des roten Vektors auf den blauen Vektor und zwar von einer

Lichtquelle, die senkrecht auf den blauen Vektor leuchtet.

 

[Die untenstehende Berechnungen sollen an dieser Stelle nicht interessieren.]

 

AnimationScalarProduct:= (p) ->

(

  RVa    := (x) --> matrix([cos(x),sin(x)])*sqrt(8):

  OVa    := matrix([0,0]):

  RVb    := matrix([5,p]): // blauer Vektor

  OVb    := matrix([0,0]):

  Ani    := PI/4..9/4*PI:

  ScPr   := (x) --> linalg::scalarProduct(RVa(x),RVb):

  ScPr_b := (x) --> ScPr(x) / linalg::scalarProduct(RVb,RVb):

  ScPr_bL:= (x) --> ScPr(x) / norm(RVb,2):

  ScPrWi := (x) --> (180/PI)*arccos(ScPr(x)/(norm(RVa(x),2)*norm(RVb,2))):

  plot::Scene2d(

                   plot::Arrow2d   (   OVa,RVa(a), a=Ani,Color=RGB::Red, LineWidth=1)

                 , plot::Curve2d   (   matrix(OVa)+RVa(a)*L, L=-0.2..1.5, a=Ani, Color=RGB::Red)

 

                 , plot::Arrow2d   (   OVb,RVb(p), Color=RGB::Blue, LineWidth=1)

                 , plot::Curve2d   (   matrix(OVb)+RVb*L, L=-1.2..1.2, Color=RGB::Blue)

 

                 , plot::Polygon2d (   [ OVb, OVb+RVb*ScPr_b(a), OVa+RVa(a) ], a=Ani

                                     , Filled, FillPattern=XCrossedLines, FillColor=RGB::Black20, LinesVisible=FALSE)

 

                 , plot::Arrow2d   (   OVa+matrix([0,-0.2]), OVb+RVb*ScPr_b(a)+matrix([0,-0.2]), a=Ani

                                     , Color=RGB::ForestGreen, LineWidth=1)

 

                 , plot::Text2d    (   a ->   "ScalProd -> ".stringlib::formatf(float(ScPr(a)),2,6)."\n"

                                            . "LängeGrün = ------- =".stringlib::formatf(float(ScPr_bL(a)),2,6)."\n"

                                            . "LängeBlau-> ".stringlib::formatf(float(norm(RVb,2)),2,6)."\n"

                                            . "Winkel    = ".stringlib::formatf(float(ScPrWi(a)),2,6)

                                     , [-7.0, 4.8], a=Ani

                                     , TextFont=["Courier New",9,Left,Bold], HorizontalAlignment=Left)

          

                 , Scaling    = Constrained

                 , ViewingBox = [-7..5, -5..5]

                 , Header     = "Animation für Vektor(5,".expr2text(p).")"

                 , HeaderFont = [10]

                 , Frames=25

               )

):

 

In der ersten Grafik sind die Koordinaten des roten Pfeils in der (animierten) Grundstellung  x=2 und y=2.

Die Koordinaten des blauen Pfeiles sind x=5 und y=0.

Das Skalarprodukt ist gleich: (2*5 + 2*0) = 10:

 

plot( AnimationScalarProduct(0), Width = 120, Height = 100):

MuPAD graphics

In der zweiten Grafik sind die Koordinaten des roten Pfeils in der (animierten) Grundstellung  x=2 und y=2.

Die Koordinaten des blauen Pfeiles sind x=5 und y=-5.

Das Skalarprodukt ist gleich: (2*5 + 2*-5) = 0:

 

plot( AnimationScalarProduct(-5), Width = 120, Height = 100):

MuPAD graphics

Der Schatten unterteil den blauen Vektor in zwei Teile. Das Skalarprodukt sagt etwas über dieses

Verhältnis wie folgt aus:

 

                Skalarprodukt

----------------------------------------------  = Länge (Betrag) des durch den Schatten bestimmten (günen) Vektors

Länge (Betrag) blauer Vektor

 

In beiden Grafiken kann dies in der Grundstellung optisch überprüft werden. Mit dem obigen Prinzip kann

auch der Winkel zwischen den beiden Vektoren berechnet werden (siehe unten).

 

Die beiden obige Grafiken sind animiert. Öffnen Sie die Grafiken mit einem Doppelklick und bringen Sie

den roten Vektor in die Stellung "senkrecht" zum blauen Vektor (nach "unten" und nach "oben"). Welche

Länge hat jeweils der grüne Schaten, welchen Wert hat das Skalarprodukt?

Antwort: beide sind 0

 

Immer wieder wichtig:

Ist das Scalarprodukt zweier Vektoren = 0, so liegen sie rechtwinklig zueinander. Man sagt,

sie sind orthogonal.

 

Umgekehrt gilt:

 

Liegen zwei Vektoren rechtwinklig zueinander (orthogonal), so ist deren Skalarprodukt = 0.

 

 

Anwendungen zum Skalarprodukt

 

Ganz allgemein:

in linearen Gleichungssystemen, in denen das Lot eine Rolle spielt.

 

Die Elemente eines Vektors ins Quadrat setzen und summieren (aa)

V1:= matrix([2,2])

math

linalg::scalarProduct(V1,V1)

math

Va:= matrix([a1,a2])

math

linalg::scalarProduct(Va,Va) assuming Type::Real

math

Die Länge (Betrag) eines Vectors ermitteln ( ¦a¦ )

V1:= matrix([2,2])

math

sqrt(linalg::scalarProduct(V1,V1)) = float(sqrt(linalg::scalarProduct(V1,V1)))

math

Va:= matrix([a1,a2])

math

sqrt(linalg::scalarProduct(Va,Va)) assuming Type::Real

math

oder kürzer:

norm(V1,2) = float(norm(V1,2)) assuming Type::Real;

norm(Va,2)                     assuming Type::Real

math

math

Feststellen ob zwei Vektoren orthogonal sind

V1:= matrix([2,2])

math

V2:= matrix([2,-2])

math

testeq(linalg::scalarProduct(V1,V2) = 0)

math

Va:= matrix([a1,a1])

math

Vb:= matrix([[1,0],[0,-1]])*Va;

math

linalg::scalarProduct(Va,Vb);

testeq(% = 0)

math

math

Abbilden eines Vektors auf einen andern (Projektion)

 

V1:= matrix([2,2]);

math

V2:= matrix([4,0]);

math

linalg::scalarProduct(V1,V2) / linalg::scalarProduct(V2,V2) * V2;

float(%)

math

math

Va:= matrix([a1,a2])

math

Vb:= matrix([b1,b2])

math

linalg::scalarProduct(Va,Vb) / linalg::scalarProduct(Vb,Vb) * Vb assuming Type::Real

math

Berechnen Winkel (in Grad)

zu berücksichtigen ist, dass die Berechnungen für beide Halbkreise zum selben Ergebnis führen

 

V1:= matrix([2,2])

math

V2:= matrix([100,0])

math

Bogenmass  = arccos(linalg::scalarProduct(V1,V2)/(norm(V1,2)*norm(V2,2)));

WinkelGrad = (180/PI)*%[2]

math

math

Va:= matrix([a1,a2]);

math

Vb:= matrix([b1,b2]);

math

Bogenmass  = arccos(linalg::scalarProduct(Va,Vb)/(norm(Va,2)*norm(Vb,2))) assuming Type::Real;

WinkelGrad = (180/PI)*%[2]

math

math

oder kürzer

linalg::angle(V1,V2):

Bogenmass  = Simplify(%);

WinkelGrad = (180/PI)*%[2]

math

math

Bogenmass  = linalg::angle(Va,Vb) assuming Type::Real;

WinkelGrad = (180/PI)*%[2]

math

math

________________________________________________________________________________

 

Anmerkungen:

1.  Weitere Anregungen zum Einsatz von MuPAD in der Lehre finden Sie auf unserem WebPortal

     MuPAD in Schule und Studium unter: http://schule.mupad.de bzw. http://studium.mupad.de.

________________________________________________________________________________

 

 

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