7 Funktionen mehrerer Variablen

Mathematische Grundlagen für das Lehramtsstudium Physik

Franz Embacher, Universität Wien, 2008
http://homepage.univie.ac.at/franz.embacher/grundlagen/

Graphen von Funktionen in zwei Variablen

Plot eines Graphen

Wenn Sie keine weiteren Formatierungen vornehmen oder Optionen nutzen, wird der Graph einer Funktion in zwei Variablen so dargestellt:

Plot3D[x^2-y^2,{x,-5,5},{y,-5,5}]

Sie können nun zahlreiche Optimierungen vornehmen. Führen Sie die folgenden Anweisungen aus, um zu sehen, wie Mathematica sie darstellt.

Plot mit Achsenbezeichnungen

Plot3D[x^2-y^2,{x,-5,5},{y,-5,5},AxesLabel->{x,y,z}]

Plot mit etwas ansprechenderen Achsenbezeichnungen

achsen={StyleForm[x,FontSize->20],StyleForm[y,FontSize->20],StyleForm[z,FontSize->20]};
Plot3D[x^2-y^2,{x,-3,3},{y,-3,3},AxesLabel->achsen]

Plot ohne Gitterlinien

Plot3D[Sin[x]Cos[y],{x,-3Pi/2,3Pi/2},{y,-3Pi/2,3Pi/2},Mesh->False]

Drahtmodell

Plot3D[Sin[x+y],{x,-3Pi/2,3Pi/2},{y,-3Pi/2,3Pi/2},PlotStyle->None]

Größere Grafik

Plot3D[x Sin[x+y]^2,{x,-π,π},{y,-π,π},ImageSize->600]

Einen Graphen begrenzen

Fall Sie einen Graphen in einem Gebiet darstellen wollen, das nicht rechteckig ist, können Sie so vorgehen:

Plot3D[x^2+y^2,{x,-3,3},{y,-3,3},RegionFunction->Function[{x,y,z},2<x^2+y^2<9]]

Mehrere Graphen in einem Diagramm

anhand der Funktionen f(x,y)=0.5 und g(x,y)=sin(x)cos(y):

(* verschiedene Farben, mit Gitterlinien: *)
Plot3D[{0.5,Sin[x]Cos[y]},{x,-3Pi/2,3Pi/2},{y,-3Pi/2,3Pi/2},PlotStyle->{Green,Red}]
(* verschiedene Farben, ohne Gitterlinien: *)
Plot3D[{0.5,Sin[x]Cos[y]},{x,-3Pi/2,3Pi/2},{y,-3Pi/2,3Pi/2},PlotStyle->{Green,Red},Mesh->False]

Problembehandlung

Abgeschnittene Graphen

Falls ein Graph in der Mitte abgeschnitten erscheint, obwohl seine Funktionswerte nirgends sehr groß werden, so fügen Sie die Option PlotRange->All ein! Beispiel:

Plot3D[1/(1+x^2+y^2),{x,-3,3},{y,-3,3}]
Plot3D[1/(1+x^2+y^2),{x,-3,3},{y,-3,3},PlotRange->All]

Graphen, die feine Details enthalten

Enthält der Graph einer Funktion feine Details, so kann Mathematica diese unter Umständen nicht erkennen, wenn Sie den einfachen Plot3D-Befehl ausführen. Hier hilft es manchmal, die PlotPoints hinaufzusetzen und den angezeigten Bereich der z-Koordinate mittels PlotRange->All hinaufzusetzen. Hier ein Beispiel anhand der Funktion f(x,y)=(1/(1+(x^2)+(y^2))), wenn sie in einem sehr großen xy-Bereich dargestellt werden soll:

(* Richtige Darstellung: *)
Plot3D[1/(1+x^2+y^2),{x,-40,40},{y,-40,40},PlotPoints->100,PlotRange->All]

(* Falsche Darstellungen: *)
Plot3D[1/(1+x^2+y^2),{x,-40,40},{y,-40,40}]
Plot3D[1/(1+x^2+y^2),{x,-40,40},{y,-40,40},PlotRange->All]
Plot3D[1/(1+x^2+y^2),{x,-40,40},{y,-40,40},PlotPoints->100]

Niveaulinien von Funktionen in zwei Variablen

Niveaulinien

Wenn Sie keine weiteren Formatierungen vornehmen oder Optionen nutzen, wird das Niveaulinienbild einer Funktion in zwei Variablen so dargestellt:

ContourPlot[Sin[x]Cos[y],{x,-3π/2,3π/2},{y,-3π/2,3π/2}]

Sie können nun zahlreiche Optimierungen vornehmen. Führen Sie die folgenden Anweisungen aus, um zu sehen, wie Mathematica sie darstellt.

Zahl der angezeigten Niveaulinien erhöhen

ContourPlot[Sin[x]Cos[y],{x,-3π/2,3π/2},{y,-3π/2,3π/2},Contours->20]

DIe gezeigten Niveaulinien selbst bestimmen

Sie können selbst  angeben, für welche Werte von c die Niveaulinien f(x,y,z)=c angezeigt werden sollen.

ContourPlot[Sin[x]Cos[y],{x,-3π/2,3π/2},{y,-3π/2,3π/2},Contours->{-0.5,0,0.5}]

Niveaulinienbild ohne Farben

ContourPlot[Sin[x]Cos[y],{x,-3π/2,3π/2},{y,-3π/2,3π/2},ContourShading->False]

Anzeige der Funktionswerte zu den einzelnen Niveaulinien

(* einfache Anzeige: *)
ContourPlot[Sin[x]Cos[y],{x,-3π/2,3π/2},{y,-3π/2,3π/2},ContourLabels->Automatic]

(* schön formatierte Anzeige: *)
ContourPlot[Sin[x]Cos[y],{x,-3π/2,3π/2},{y,-3π/2,3π/2},ContourLabels->(Text[Framed[#3],{#1,#2},Background->White]&)]

DIchteplot

Bei dieser Darstellung zeigt die  Farbintensität die Funktionswrte an. Linien gleicher Farbintensität sind Niveaulinien.

DensityPlot[Sin[x]Cos[y],{x,-3Pi/2,3Pi/2},{y,-3Pi/2,3Pi/2}]

Eine einzige Niveaulinie plotten

Mathematisch gesprochen, wird hier die Lösungsmenge einer Gleichung in zwei Variablen dargestellt.

ContourPlot[x^3-y^3==1,{x,-3,3},{y,-3,3}]

EInen Bereich gemäß einer Bedingung an die Funktionswerte einfärben

Mathematisch gesprochen, wird hier die Lösungsmenge einer Ungleichung in zwei Variablen dargestellt.

RegionPlot[Sin[x+y]>0.5,{x,-3,3},{y,-3,3}]

Niveauflächen von Funktonen in drei Variablen

Auch für Funktionen in drei Variablen stehen einige Visualisierungsmöglichkeiten zur Verfügung:

Niveauflächen

ContourPlot3D[x^2+y^2-z^2,{x,-5,5},{y,-5,5},{z,-5,5}]

Zahl der angezeigten Niveauflächen erhöhen

ContourPlot3D[x^2+y^2-z^2,{x,-5,5},{y,-5,5},{z,-5,5},Contours->5]

Eine einzige Niveaufläche plotten

Mathematisch gesprochen, wird hier die Lösungsmenge einer Gleichung in drei Variablen dargestellt.

ContourPlot3D[x^2+y^2-z^2==0,{x,-5,5},{y,-5,5},{z,-5,5}]