pdf, 12M

Commentaren

Transcriptie

pdf, 12M
Einführung in Mathematica (2)
Grafik und Manipulate
Michael O. Distler, Computer in der Wissenschaft, SS 2012
(Vorlage von L. Tiator)
Grafik - Initialisierung
[email protected], ListPlot, ParametricPlot,
Plot3D, Graphics, DensityPlot, RegionPlot,
ContourPlot, ParametricPlot3D<,
BaseStyle ® 816, FontFamily ® "Times", Italic<,
ImageSize ® 350D;
[email protected], PlotStyle ® [email protected]<D;
[email protected], PlotStyle ® 8Red, [email protected]<D;
dünne Linien und Punkte :
[email protected], ListPlot, Graphics<,
BaseStyle ® 8Medium, FontFamily ® "Times"<D;
[email protected], PlotStyle ® [email protected]<D;
[email protected], PlotStyle ® 8Red, [email protected]<D;
andere mögliche Fonts :
BaseStyle ® 818, FontFamily ® "Helvetica"<
BaseStyle ® 8Large, FontFamily ® "Helvetica", Italic, Bold<
Übersicht über die wichtigsten Grafik-Prozeduren
Ÿ 2D Grafik
Plot
ParametricPlot
ContourPlot
DensityPlot
ListPlot ListLinePlot
ListContourPlot
ListDensityPlot
2
Mathematica_2.nb
Ÿ 3D Grafik
Plot3D
ParametricPlot3D
ListPlot3D
2D-Grafik
Ÿ Plot
[email protected], 8x, xmin, xmax<D
Hier ist ein einfacher 2-dim Plot, bei dem alle notwendigen Einstellungen, wie Achsenskalierungen automatisch vorgenommen
werden:
[email protected]@xD, 8x, 0, 2 Π<D
1.0
0.5
1
2
3
4
5
6
- 0.5
- 1.0
Wie auch bei Berechnungen wird durch das Semikolon (;) die Ausgabe unterdrückt.
[email protected]@xD, 8x, 0, 2 Π<D;
Mit Plot kann man auch mehrere Funktionen gleichzeitig in ein Diagramm einzeichnen:
Dabei wird eine automatische Skalierung vorgenommen, die die verschiedenen Wertebereiche optimiert.
Mit Mathematica 6 werden die verschiedenen Kurven mit unterschiedlichen Farben dargestellt.
Mathematica_2.nb
3
PlotA9x2 , [email protected], [email protected], ãx =, 8x, 0, 2 Π<E
60
50
40
30
20
10
1
2
3
4
5
6
Das Aussehen der Plots kann auf vielfältige Weise durch "Optionen" verändert werden. Diese Optionen haben Voreinstellungen, können aber auch einzeln manuell verändert werden.
Eine Übersicht gibt die Online-Help oder wie folgt:
[email protected]"Plot", LongForm ® TrueD
[email protected] f , 8x, xmin , xmax <D generates a plot of f as a function of x from xmin to xmax .
[email protected] f1 , f2 , …<, 8x, xmin , xmax <D plots several functions fi . ‡
[email protected] = 8HoldAll, Protected<
[email protected] := :AlignmentPoint ® Center, AspectRatio ®
1
, Axes ® True,
AxesLabel ® None, AxesOrigin ® Automatic, AxesStyle ® 8<, Background ® None,
BaselinePosition ® Automatic, BaseStyle ® 816, FontFamily ® Times, Italic<,
ClippingStyle ® None, ColorFunction ® Automatic, ColorFunctionScaling ® True,
ColorOutput ® Automatic, ContentSelectable ® Automatic, CoordinatesToolOptions ® Automatic,
DisplayFunction ¦ $DisplayFunction , Epilog ® 8<, Evaluated ® Automatic,
EvaluationMonitor ® None, Exclusions ® Automatic, ExclusionsStyle ® None,
Filling ® None, FillingStyle ® Automatic, FormatType ¦ TraditionalForm , Frame ® False,
FrameLabel ® None, FrameStyle ® 8<, FrameTicks ® Automatic, FrameTicksStyle ® 8<,
GridLines ® None, GridLinesStyle ® 8<, ImageMargins ® 0., ImagePadding ® All,
ImageSize ® 350, ImageSizeRaw ® Automatic, LabelStyle ® 8<, MaxRecursion ® Automatic,
Mesh ® None, MeshFunctions ® 8ð1 &<, MeshShading ® None, MeshStyle ® Automatic,
Method ® Automatic, PerformanceGoal ¦ $PerformanceGoal , PlotLabel ® None,
PlotPoints ® Automatic, PlotRange ® 8Full, Automatic<, PlotRangeClipping ® True,
PlotRangePadding ® Automatic, PlotRegion ® Automatic, PlotStyle ® [email protected]<,
PreserveImageOptions ® Automatic, Prolog ® 8<, RegionFunction ® HTrue &L,
GoldenRatio
RotateLabel ® True, Ticks ® Automatic, TicksStyle ® 8<, WorkingPrecision ® MachinePrecision >
4
Mathematica_2.nb
pl1 = [email protected]@xD, 8x, 0, 2 Π<, PlotStyle ® Thick,
PlotLabel ® "Die Sinus-Funktion", AxesLabel ® 8"x", "[email protected]"<D
Die Sinus-Funktion
[email protected]
1.0
0.5
1
2
3
4
5
x
6
- 0.5
- 1.0
Ÿ etwas Plot-Kosmetik
eine sehr große Anzahl von Optionen erlauben vielfältige Verschönerungen der Plots,
z.B. für Präsentationen oder Publikationen
StyleForm[ ] und BaseStyle[ ] erlauben spezielle Font-Wahl
[email protected]@xD, 8x, 0, 2 Π<, PlotStyle ® 8Red, Dashed, Thick<,
PlotLabel ® [email protected]"Die Sinus-Funktion", 8"Times", 20<D,
FrameLabel ® 8"x", "[email protected]"<,
BaseStyle ® 816, FontFamily ® "Helvetica-Oblique"<,
GridLines ® Automatic, Frame ® TrueD
Die Sinus-Funktion
1.0
[email protected]
0.5
0.0
-0.5
-1.0
0
1
2
3
x
4
5
6
ImageSize:
Die Größe eines Plots ist in den Grundeinstellungen (Option Inspector) festgelegt. Sie kann nachträglich einfach mit der Maus
verändert werden. Sie kann aber auch durch ImageSize (z.B. ImageSize®400) eingegeben werden:
individuelle PlotStyles:
meist wird man die einfachen voreingestellten Werte verwenden, es geht aber auch sehr individuell:
Farbe: Hue[h] oder RGB[r,g,b] mit h,r,g,b Ε [0,1] Z.B. Hue[1] (Rot) RGB[0,0,1] (Blau)
Linienart: Dashing[r] oder Dashing[{r1,r2}], wobei r in Einheiten der ImageSize angegeben wird.
Liniendicke: Thickness[r], Achtung: nicht zu groß wählen, z.B. r=0.005
Mathematica_2.nb
5
individuelle PlotStyles:
meist wird man die einfachen voreingestellten Werte verwenden, es geht aber auch sehr individuell:
Farbe: Hue[h] oder RGB[r,g,b] mit h,r,g,b Ε [0,1] Z.B. Hue[1] (Rot) RGB[0,0,1] (Blau)
Linienart: Dashing[r] oder Dashing[{r1,r2}], wobei r in Einheiten der ImageSize angegeben wird.
Liniendicke: Thickness[r], Achtung: nicht zu groß wählen, z.B. r=0.005
pl2 = [email protected]@xD, 8x, 0, 2 Π<,
PlotStyle ® [email protected], [email protected], [email protected]<<,
GridLines ® Automatic,
PlotLabel ® [email protected]"Die Sinus-Funktion", 8"Times", 22<D,
FrameLabel ® 8"x", "[email protected]"<,
BaseStyle ® 814, FontFamily ® "Helvetica-Oblique"<,
Frame ® True, ImageSize ® 400D
Die Sinus-Funktion
1.0
[email protected]
0.5
0.0
-0.5
-1.0
0
1
2
3
4
x
mit PlotRange werden die Achsen skaliert
im ersten Plot werden PlotRange und PlotStyle automatisch eingestellt
5
6
6
Mathematica_2.nb
pl3 = [email protected]@xD, [email protected], [email protected], [email protected]<, 8x, 0, 2 Π<,
PlotRange ® 8Automatic<, PlotStyle ® 8Automatic<,
PlotLabel ® "Sin, Cos, Tan, Cot", FrameLabel ® 8"x", None<,
BaseStyle ® 818, FontFamily ® "Helvetica"<, Frame ® TrueD
Sin, Cos, Tan, Cot
4
3
2
1
0
-1
-2
-3
0
1
2
3
x
4
5
6
Ÿ [email protected], labelD
im nächsten Plot wird die y - Achse neu skaliert und die Linien individuell gewählt
Beachte auch die Funktion Tooltip[ ... ], die die Funktion, bzw. einen Kommentar anzeigt,
sobald man mit der Maus in die Nähe kommt.
Mathematica_2.nb
7
pl3 = [email protected]@[email protected], [email protected], [email protected], [email protected]<D, 8x, 0, 2 Π<,
PlotRange ® 8-2, 2<, PlotStyle ®
88Black, Thick<, 8Red, Thick<, 8Blue, Thick<, 8Green, Thick<<,
PlotLabel ® "Sin, Cos, Tan, Cot", FrameLabel ® 8"x", None<,
BaseStyle ® 818, FontFamily ® "Helvetica"<, Frame ® TrueD
Sin, Cos, Tan, Cot
2
1
0
-1
-2
0
1
2
3
x
4
5
6
im zweiten Beispiel können eigene Labels vergeben werden:
[email protected]@[email protected], "Sinus"D,
[email protected]@xD, "Cosinus"D<, 8x, 0, 2 Π<D
1.0
0.5
1
2
3
4
5
6
- 0.5
- 1.0
ã eigene Funktion tooltip
noch flexibler ist ein modifiziertes "tooltip" für die Anwendung auf Listen:
tooltipAflist_, nlist_E := [email protected], flist, nlist, ListD
8
Mathematica_2.nb
[email protected]@xD, [email protected]<, 8"Sinus", "Cosinus"<D  InputForm
{Tooltip[Sin[x], "Sinus"], Tooltip[Cos[x], "Cosinus"]}
[email protected]@[email protected], [email protected]<, 8"Sinus", "Cosinus"<D  Evaluate,
8x, 0, 2 Π<D
1.0
0.5
1
2
3
4
5
6
- 0.5
- 1.0
Ÿ Show und PlotRange
[email protected] xD2
fAa_, x_E :=
Π Ia x2 M
del1 = [email protected]@2, xD, 8x, -2, 2<D
0.6
0.5
0.4
0.3
0.2
0.1
-2
-1
1
2
Mathematica_2.nb
9
del2 = [email protected]@10, xD, 8x, -2, 2<, PlotRange ® AllD
3.0
2.5
2.0
1.5
1.0
0.5
-2
-1
1
2
Mit der Funktion "Show" können bereits existierende Grafiken mit geänderten Optionen dargestellt werden oder auch verschiedene Grafiken in ein Bild gezeichnet werden.
[email protected], PlotRange ® AutomaticD
0.20
0.15
0.10
0.05
-2
-1
1
2
10
Mathematica_2.nb
del3 = [email protected]@20, xD, 8x, -2, 2<, PlotRange ® AllD
6
5
4
3
2
1
-2
-1
1
2
[email protected], del2, del3<, PlotRange ® AllD
6
5
4
3
2
1
-2
-1
1
2
Ÿ ListPlot
[email protected], y2, y3, ...<D
oder [email protected], y1<, 8x2, y2<, ...<D
Kennt man von einer Funktion nur einzelne Punkte oder Wertepaare, kann man diese Funktion nicht mit "Plot" zeichnen. Dafür
gibt es die Funktion "ListPlot" mit ähnlichen Optionen wie Plot.
li1 = [email protected], 1<, 100D;
Mathematica_2.nb
11
[email protected]
0.8
0.6
0.4
0.2
20
40
60
80
100
40
60
80
100
40
60
80
100
[email protected], 8x, 0, 100<D
1.0
0.8
0.6
0.4
0.2
20
[email protected]%, %%D
1.0
0.8
0.6
0.4
0.2
20
ein wichtiger PlotStyle für ListPlot ist die Punktdicke PointSize[d]
dabei ist die Größe d in Einheiten des Gesamtplots
12
Mathematica_2.nb
ein wichtiger PlotStyle für ListPlot ist die Punktdicke PointSize[d]
dabei ist die Größe d in Einheiten des Gesamtplots
lp1 = [email protected], PlotStyle ® [email protected]
0.8
0.6
0.4
0.2
20
40
60
80
100
es können auch festdefinierte Werte mit PointSize verwendet werden :
PointSize[Large], PointSize[Small], PointSize[Tiny],
Als weitere Option gibt es im Vergleich zu Plot die Option: PlotJoined->True,
wobei die einzelnen Punkte durch Linien verbunden werden.
Dafür gibt es auch eine eigene Funktion
[email protected], Joined ® TrueD
0.8
0.6
0.4
0.2
20
40
60
80
100
Mathematica_2.nb
13
[email protected], Filling ® AxisD
0.8
0.6
0.4
0.2
20
40
60
80
100
Mit "Show" können nun beide Darstellungen, Linien und Punkte überlagert werden:
[email protected]%, lp1<D
0.8
0.6
0.4
0.2
20
40
60
80
100
14
Mathematica_2.nb
[email protected]@[email protected], 1<, 2D, 83000<D,
PlotStyle ® 8Red, [email protected]<D
1.0
0.8
0.6
0.4
0.2
0.2
0.4
0.6
0.8
1.0
Ÿ Überlagerung mehrerer Plots im gemeinsamen Koordinatensystem mit Show
[email protected]@2.5, 8x, 0, 1<D,
[email protected]@[email protected], 2 + [email protected]<, 8100<DD<,
PlotRange ® 80, 4<D
4
3
2
1
0.2
0.4
0.6
0.8
1.0
bei automatischer Skalierung spielt die Reihenfolge eine entscheidende Rolle:
Mathematica_2.nb
15
[email protected]@2.5, 8x, 0, 1<D,
[email protected]@[email protected], 2 + [email protected]<, 8100<DD<D
5
4
3
2
1
0.2
0.4
0.6
0.8
1.0
[email protected]@[email protected]@D, 2 + [email protected]<, 8100<DD,
[email protected], 8x, 0, 1<D<D
3.0
2.8
2.6
2.4
2.2
0.2
0.4
0.6
0.8
1.0
16
Mathematica_2.nb
Ÿ ParametricPlot
[email protected]@tD, [email protected]<, 8t, 0, 2 Π<D
1.0
0.5
- 1.0
- 0.5
0.5
1.0
- 0.5
- 1.0
[email protected]@7 tD [email protected], [email protected] tD [email protected]<, 8t, 0, 2 Π<D
1.0
0.5
- 1.0
- 0.5
0.5
- 0.5
1.0
Mathematica_2.nb
17
Ÿ ContourPlot, DensityPlot
fAx_, y_E = ExpBã-
x2 +y2
x2 + y2 F [email protected]@x, yDD
[email protected]@x, yDD
cp = [email protected]@x, yD, 8x, -1, 1<,
8y, -1, 1<, PlotPoints ® 30, ContourShading ® FalseD
1.0
0.5
0.0
- 0.5
- 1.0
- 1.0
- 0.5
0.0
0.5
1.0
18
Mathematica_2.nb
cp1 = [email protected]@x, yD, 8x, -1, 1<, 8y, -1, 1<, PlotPoints ® 30D
1.0
0.5
0.0
- 0.5
- 1.0
- 1.0
- 0.5
0.0
0.5
1.0
dp = [email protected]@x, yD, 8x, -1, 1<, 8y, -1, 1<,
PlotPoints ® 30, Mesh ® False, ColorFunction ® Hue,
Axes ® True, Ticks ® Automatic, Frame ® FalseD
1.0
0.5
- 1.0
- 0.5
0.5
1.0
- 0.5
- 1.0
Es gibt eine Vielzahl von Color Schemes (Farbverläufe), siehe Help
Mathematica_2.nb
greenblue = [email protected], ð, ðD &L;
H* eigene Definition für Farbabstufung *L
[email protected]@[email protected], yD, 8x, -1, 1<,
8y, -1, 1<, PlotPoints ® 30, Contours ® contours,
ColorFunction ® colfunc, Axes ® axes, Ticks ® Automatic,
Frame ® False, ContourLabels ® labels, ContourStyle ® styleD,
88colfunc, Automatic, "ColorFunction"<,
[email protected], Hue, greenblue<, [email protected]"Gradients"DD<,
88axes, True, "Axes"<, 8True, False<,
ControlType ® Checkbox, ControlPlacement ® Bottom<,
88style, Automatic, "Linien"<, 8None, Automatic<,
ControlType ® Checkbox, ControlPlacement ® Bottom<,
88labels, None, "ContourLabels"<, 8None, Automatic, True, All<,
ControlPlacement ® Bottom<,
88contours, 10, "Contours"<, 30, 5, 5,
ControlType ® VerticalSlider, ControlPlacement ® Right<D
19
20
Mathematica_2.nb
ColorFunction
[email protected], ð1, ð1D &
Axes
Linien
ContourLabels
None
Automatic
True
All
Ÿ Anordnung von Grafiken in Listen und Tabellen: GraphicsRow, GraphicsColumn, GraphicsGrid
einfachste Anordnung als Liste, jedoch ohne weitere Größenänderung
8cp, dp<
gemeinsame Darstellung mit GraphicsRow
Mathematica_2.nb
21
[email protected], dp<, PlotLabel ® [email protected] [email protected]ΒD, ImageSize ® 400D
ã -r cosH Β L
1.0
1.0
0.5
0.5
0.0
- 1.0 - 0.5
- 0.5
- 1.0
- 1.0 - 0.5 0.0
0.5
- 0.5
0.5
1.0
- 1.0
[email protected], dp<D
1.0
1.0
0.5
0.5
0.0
- 0.5
- 1.0
- 1.0- 0.5 0.0 0.5 1.0
- 1.0 - 0.5
- 0.5
- 1.0
0.5 1.0
1.0
22
Mathematica_2.nb
[email protected], dp<, ImageSize ® 200D
1.0
0.5
0.0
- 0.5
- 1.0
- 1.0 - 0.5 0.0 0.5 1.0
1.0
0.5
- 1.0 - 0.5
0.5
1.0
- 0.5
- 1.0
[email protected], dp<, 8dp, cp<<D
1.0
1.0
0.5
0.5
0.0
- 1.0 - 0.5
- 0.5
- 0.5
- 1.0
- 1.0- 0.5 0.0 0.5 1.0
0.5 1.0
- 1.0
1.0
1.0
0.5
0.5
0.0
- 1.0 - 0.5
- 0.5
- 1.0
0.5 1.0
- 0.5
- 1.0
- 1.0- 0.5 0.0 0.5 1.0
Ÿ Veranschaulichung komplexer Funktionen
Mathematica_2.nb
23
Veranschaulichung komplexer Funktionen
erstes Beispiel: f HzL = e
-
1
z2
mit einer wesentlichen Singularität im Ursprung
Plot3DAExpA1 ‘ Hx + ä yL2 E  Abs,
8x, -2, 2<, 8y, -2, 2<, ColorFunction ® greenblue,
PlotRange ® 80, 50<, ClippingStyle ® AutomaticE
-2
40
20
0
-2
-1
0
-1
0
1
1
2 2
Ÿ
24
Mathematica_2.nb
ContourPlotAExpA1 ‘ Hx + ä yL2 E  Im,
8x, -1, 1<, 8y, -1, 1<, ColorFunction ® "Rainbow",
ClippingStyle ® Automatic, Contours ® 20E
1.0
0.5
0.0
- 0.5
- 1.0
- 1.0
- 0.5
0.0
0.5
1.0
Mathematica_2.nb
25
ContourPlotAExpA1 ‘ Hx + ä yL2 E  Abs,
8x, -5, 5<, 8y, -5, 5<, ColorFunction ® "Rainbow",
ClippingStyle ® Automatic, Contours ® 20E
4
2
0
-2
-4
-4
-2
zweites Beispiel: f HzL =
0
1
zn -a
2
4
mit n Polen auf einem Kreis mit Radius a
Plot3DA1 ‘ IHx + ä yL6 - 0M  Abs, 8x, -1, 1<, 8y, -1, 1<,
ColorFunction ® [email protected]ðD &L, ClippingStyle ® AutomaticE
200
1.0
100
0.5
0
-1.0
0.0
-0.5
-0.5
0.0
0.5
1.0
-1.0
26
Mathematica_2.nb
ContourPlotA1 ‘ Hx + ä yL6  Im, 8x, -1, 1<, 8y, -1, 1<,
ColorFunction ® [email protected]ðD &L, ClippingStyle ® AutomaticE
1.0
0.5
0.0
- 0.5
- 1.0
- 1.0
- 0.5
0.0
0.5
1.0
Plot3DA1 ‘ IHx + ä yL6 - 0.2M  Abs, 8x, -1, 1<, 8y, -1, 1<,
ColorFunction ® [email protected]ðD &L, ClippingStyle ® AutomaticE
1.0
0.5
0.0
10
5
0
- 0.5
- 1.0
- 1.0
- 0.5
0.0
0.5
1.0
Mathematica_2.nb
27
ContourPlotA1 ‘ IHx + ä yL6 - 0.2M  Im, 8x, -1, 1<, 8y, -1, 1<,
ColorFunction ® "TemperatureMap", ClippingStyle ® AutomaticE
1.0
0.5
0.0
- 0.5
- 1.0
- 1.0
- 0.5
0.0
0.5
1.0
Ÿ Option: Filling
[email protected]@[email protected], 8x, 0, 2 Pi<, ImageSize ® 150, Filling ® fD,
8f, 8Top, Bottom, Axis, 0.3<<D
1.0
0.5
- 0.5
- 1.0
1 2 3 4 5 6 - 0.5
- 1.0
1.0
0.5
1.0
0.5
- 0.5
- 1.0
1 2 3 4 5 6 - 0.5
- 1.0
9
1.0
0.5
,
,
1 2 3 4 5 6
=
,
1 2 3 4 5 6
28
Mathematica_2.nb
TableAPlotA9x2 , [email protected], [email protected]=,
8x, -5, 5<, ImageSize ® 200, Filling ® fE,
8f, 8Axis, 83<, 81 -> 82<<, 82 -> 83<<<<E
15
10
5
9
-4
-2 -5
- 10
,
2
-2 -5
- 10
-4
4
15
10
5
-4
15
10
5
-2 -5
- 10
2
4
15
10
5
,
2
,
-4
4
=
-2 -5
- 10
2
4
Ÿ Epilog
[email protected]@xD, 8x, 0, 10<, Epilog ® [email protected]"SinHxL", 85, 0.8<DD
1.0
SinHxL
0.5
2
- 0.5
- 1.0
4
6
8
10
Mathematica_2.nb
29
[email protected]@80, 1<, 100D,
Epilog ® [email protected], 0.5<, 8100, 0.5<<DD
1.0
0.8
0.6
0.4
0.2
20
40
60
80
100
Plots exportieren
[email protected]"cp.pdf", cpD
cp.pdf
plot = [email protected], dp<,
PlotLabel ® [email protected] [email protected]ΒD, ImageSize ® 400D;
[email protected]"twoplots.pdf", plotD
twoplots.pdf
[email protected]"twoplots.jpg", plotD
twoplots.jpg
[email protected]"twoplots.eps", plotD
twoplots.eps
per default landen die Plots im aktuellen Arbeitsverzeichnis
[email protected]
[email protected]"*.pdf"D
8twoplots.pdf<
man kann Arbeitsverzeichnisse aber auch explizit definieren:
30
Mathematica_2.nb
[email protected]"D:Mathematicaciw"D
[email protected]@DD
D:\CTKurs\Aktueller Kurs 2011\Vorlesung
Legenden
Ÿ selbstdefinierte Legende mit Epilog (aus Mathematica Documentation Center)
legendPlotAxl_List, d_, args___E := [email protected], d,
Epilog ® [email protected]
[email protected]@[email protected]@[email protected], Firstžð2D,
Thick, [email protected], 0<, 81, 0<<D<,
AspectRatio ® .1, ImageSize ® 20D, ð1< &, xlDDD,
[email protected], -2<, [email protected], 1<DD, 8Right, Top<D, argsD
[email protected]@xD, [email protected], [email protected]<, 8x, 0, 10<D
1.0
sinHx L
cosHx L
sincHx L
0.5
2
4
- 0.5
- 1.0
Ÿ Paket : PlotLegend
[email protected]"PlotLegends`"D
6
8
10
Mathematica_2.nb
31
[email protected]@xD, [email protected]<, 8x, 0, 2 Pi<,
PlotLegend ® 8"sine", "cosine"<D
1.0
0.5
1
2
3
4
5
6
- 0.5
sine
- 1.0
cosine
[email protected]@[email protected] yD, 8x, 0, Π<, 8y, 0, Π<, Mesh ® False,
PlotPoints ® 30D, [email protected]"LakeColors"[email protected] - ð1D &,
10, " 1", "-1", LegendPosition ® 81.1, -.4<<D
3.0
2.5
1
2.0
1.5
1.0
-1
0.5
0.0
0.0
0.5
1.0
1.5
2.0
2.5
3.0
contour1 =
[email protected]@x, yD, 8x, -1, 1<, 8y, -1, 1<, PlotPoints ® 30D;
32
Mathematica_2.nb
[email protected],
[email protected]"LakeColors"[email protected] - ð1D &,
10, "1", "-1", LegendSize ® 80.55, 1.35<,
LegendLabel ® "Legende",
LegendPosition ® 81.1, -.7<<D
1.0
Legende
1
0.5
0.0
- 0.5
-1
- 1.0
- 1.0
- 0.5
0.0
0.5
1.0
[email protected]@[email protected], yD, 8x, -1, 1<,
8y, -1, 1<, PlotPoints ® 30, ColorFunction -> "Rainbow",
Contours ® 11, ContourLabels ® AutomaticD,
[email protected]"Rainbow"[email protected] - ð1D &, 9, "0.80",
"-0.80", LegendSize ® 80.55, 1.35<,
LegendLabel ® "Legende",
LegendPosition ® 81.1, -.7<<D
1.0
Legende
0.80
0.5
0.0
- 0.5
-0.80
- 1.0
- 1.0
3D-Grafik
- 0.5
0.0
0.5
1.0
Mathematica_2.nb
33
3D-Grafik
Ÿ Plot3D
[email protected], 8x, xmin, xmax<, 8y, ymin, ymax<D
Mit "Plot3D" erzeugt man eine Oberflächen-Grafik einer 2-dim Funktion
pl3 = [email protected]@x + [email protected], 8x, -Π, Π<, 8y, -Π, Π<D
2
0
-2
-1.0
-0.5
0.0
0.5
-2
0
1.0
2
pl3 = [email protected]@x + [email protected], 8x, -Π, Π<,
8y, -Π, Π<, Mesh ® False, PlotPoints ® 100D
1.0
0.5
0.0
-0.5
-1.0
2
0
-2
0
-2
2
Mit einer Vielzahl von Optionen lassen sich auch diese 3-dim Grafiken verändern,
siehe Options[Plot3D] oder mit Online-Help.
34
Mathematica_2.nb
pl4 = [email protected]@x + [email protected], 8x, -Π, Π<, 8y, -Π, Π<,
AxesLabel ® 8"x", "y", " "<, AxesStyle ® [email protected],
AxesEdge ® 8Automatic, Automatic, 81, -1<<,
BoxStyle ® [email protected], 0.02<D, PlotLabel ® "sinHx+sinHyLL",
BaseStyle ® 816, FontFamily ® "Helvetica"<D
sinHx+sinHyLL
2
-2
x
0
2
1.0
0 y
0.5
0.0-2
-0.5
-1.0
Ÿ ParametricPlot3D
z.B. Phasenraumdiagramm einer gedämpften Schwingung
Mathematica_2.nb
35
[email protected]
[email protected] tD [email protected] tD, [email protected] tD [email protected] tD, t  10<, 8t, 0, 25<D
1.0 - 0.5
0.5
0.0
- 0.5
2
1
0
parametrisierte Oberfläche
0.0
0.5
36
Mathematica_2.nb
[email protected]
[email protected], [email protected] + [email protected], [email protected]<, 8u, 0, 2 Π<, 8v, -Π, Π<D
2
1
0
-1
-2
1.0
0.5
0.0
- 0.5
- 1.0
- 1.0
- 0.5
0.0
0.5
1.0
Plot zweier Flächen in 3 D
Mathematica_2.nb
37
[email protected]
884 + H3 + [email protected] [email protected], 4 + H3 + [email protected] [email protected], 4 + [email protected]<,
88 + H3 + [email protected] [email protected],
3 + [email protected], 4 + H3 + [email protected] [email protected]<<,
8u, 0, 2 Pi<, 8v, 0, 2 Pi<,
PlotStyle ® 8Red, Green<D
8
6
4
2
8
0
6
4
2
0
0
5
10
weitere Grafik-Befehle
LogPlot
LogLinearPlot
LogLogPlot
PolarPlot
RegionPlot
Ÿ Logarithmische Plots
gAx_E := [email protected] == 0, 1, xx D
ListLogPlot
ListLogLinearPlot
ListLogLogPlot
ListPolarPlot
38
Mathematica_2.nb
[email protected]@xD, 8x, 0, 10<D
8 ´ 107
6 ´ 107
4 ´ 107
2 ´ 107
2
4
6
8
10
[email protected]@xD, 8x, 0, 10<D
1010
108
106
104
100
2
4
6
8
10
[email protected]@1  xD, 8x, 0.01, 100<D
1.0
0.5
0.0
-0.5
0.1
1
10
100
Mathematica_2.nb
39
LogLogPlotAx3 + x13 , 8x, 0.1, 100<E
1022
1017
1012
107
100
0.5
1.0
5.0
10.0
50.0
10
20
Ÿ PolarPlot
[email protected], 8t, 0, 4 ´ 2 Π<D
20
10
-20
-10
-10
-20
100.0
40
Mathematica_2.nb
Ÿ RegionPlot
[email protected]^2 + y^3 < 2, 8x, -2, 2<, 8y, -2, 2<D
2
1
0
-1
-2
-2
-1
0
1
2
Mathematica_2.nb
41
[email protected]
[email protected]@xD [email protected] > 1  4, 8x, -10, 10<, 8y, -10, 10<,
BoundaryStyle ® Dashed, PlotStyle ® YellowD,
[email protected]^2 + y^2 < 1, 8x, -1, 1<, 8y, -1, 1<, Mesh ® 10,
MeshShading ® 88Automatic, None<, 8None, Automatic<<,
ColorFunction ® "DarkRainbow"D<<, ImageSize ® 600D
10
1.0
5
0.5
0
0.0
-5
- 0.5
- 10
- 10
-5
0
5
10
- 1.0
- 1.0
- 0.5
0.0
0.5
42
Mathematica_2.nb
Ÿ SphericalPlot3D
[email protected]@[email protected], 0, theta, phiDD,
8theta, 0, Π<, 8phi, 0, 2 Π<D
0.2
0.0
-0.2
0.5
0.0
-0.5
-0.2
0.0
0.2
Mathematica_2.nb
[email protected]@[email protected], 0, theta, phiDD,
8theta, 0, Π<, 8phi, 0, 2 Π<, Boxed ® False, Axes ® None, Mesh ® NoneD
43
44
Mathematica_2.nb
Ÿ SurfaceOfRevolution
1
PlotB
- x2 +
2
x4
2
, 8x, -1.45, 1.45<F
0.6
0.5
0.4
0.3
0.2
0.1
-1.5 -1.0 -0.5
0.5
1
RevolutionPlot3DB
- x2 +
2
x4
2
1.0
1.5
, 8x, 0.05, 1.4<,
ViewPoint ® 80.521, -0.962, 1.954<, BoxRatios ® 81, 1, 1<F
-1
1
0
1
0
0.4
-1
0.2
0.0
Mathematica_2.nb
45
VectorPlot
Ó Ó
Vektorfeld einer Zentralkraft F ~r
Ÿ Vektorfeld einer Kraft FHx, yL
rvect = 8x, y, z<
8x, y, z<
Fvect = rvect
8x, y, z<
[email protected]@Fvect, 81, 2<D, 8x, -1, 1<, 8y, -1, 1<D
1.0
0.5
0.0
-0.5
-1.0
-1.0
-0.5
0.0
0.5
Ó Ó Ó
Vektorfeld einer Axialkraft : F ~r
‰B
Bvect = 80, 0, 1<;
Fvect = rvect ‰ Bvect
8y, -x, 0<
1.0
46
Mathematica_2.nb
[email protected]@Fvect, 81, 2<D, 8x, -1, 1<, 8y, -1, 1<D
1.0
0.5
0.0
-0.5
-1.0
-1.0
-0.5
0.0
0.5
1.0
Ÿ Vektorfeld eines Potentials V Hx, yL
1
VpotAx_, y_E :=
x2 + y2
FAx_, y_E = [email protected]@x, yD, xD, [email protected]@x, yD, yD<
9-
x
Ix2 +
32
y2 M
y
,-
Ix2 + y2 M
32
=
FAx_, y_E = [email protected]@x, yD, 88x, y<<D
9-
x
Ix2 +
32
y2 M
y
,-
Ix2 + y2 M
32
=
Mathematica_2.nb
47
[email protected]@x, yD, 8x, -3, 3<, 8y, -3, 3<D
3
2
1
0
-1
-2
-3
-3
-2
-1
0
1
2
3
[email protected]@x, yD, 8x, -3, 3<, 8y, -3, 3<, VectorPoints ® 4D
4
2
0
-2
-4
-4
-2
0
2
4
48
Mathematica_2.nb
[email protected]@x, yD, 8x, -3, 3<, 8y, -3, 3<,
VectorPoints ® 10, VectorScale ® 8Large, 0.5, Automatic<D
3
2
1
0
-1
-2
-3
-3
-2
-1
0
1
2
3
Mathematica_2.nb
49
[email protected]@x, yD, 8x, -3, 3<, 8y, -3, 3<,
VectorPoints ® 10, VectorScale ® 8Large, 0.5, None<D
3
2
1
0
-1
-2
-3
-3
-2
-1
0
1
2
3
Ÿ 3D Vektorfeld eines Potentials V Hx, y, zL
1
VpotAx_, y_, z_E :=
Hx - 1L2 + y2 + z2
1
-
Hx + 4L2 + y2 + z2
FAx_, y_, z_E = [email protected]@x, y, zD, 88x, y, z<<D
9-
-1 + x
4+x
+
IH-1 + xL2 + y2 + z2 M
32
IH4 + xL2 + y2 + z2 M
y
-
y
IH-1 + xL + y2 + z2 M
2
,
32
32
+
IH4 + xL +
2
y2
z
+
32
z2 M
,-
z
+
IH-1 + xL + y2 + z2 M
2
32
IH4 + xL + y2 + z2 M
2
32
=
50
Mathematica_2.nb
[email protected]@x, y, zD, 8x, -5, 5<, 8y, -5, 5<, 8z, -5, 5<,
VectorPoints ® 8, VectorScale ® 8Small, 0.5, None<D
-5
0
5
5
5
0
0
-5
-5
Paket: ErrorBarPlots`
[email protected]"ErrorBarPlots`"D
? ErrorBarPlots`*
ErrorBarPlots`
ErrorBar
ErrorBarFunction
ErrorBarPlot
im ersten Beispiel sind die Abszissen wieder einfach die natürlichen Zahlen,
die Ordinaten zeigen die
i , unabhängig von x !
Der Fehlerbalken wird zufällig ermittelt.
ErrorListPlot
Mathematica_2.nb
51
[email protected]@[email protected], [email protected]<, 8i, 1, 20, 2<DD
4.5
4.0
3.5
3.0
2.5
2.0
1.5
2
4
6
8
10
in dem nächsten Beispiel (Normalfall) wird der Fehler in der Ordinate y einfach als 3. Komponente der Vektoren angegeben
[email protected], 1., 0.3<, 82, 2, 0.6<, 83, 4, 0.3<, 84, 8, 1<<D
8
6
4
2
1.5
2.0
2.5
3.0
3.5
4.0
im allgemeinen Fall werden Fehlerbalken mit der Funktion ErrorBar erzeugt.
Damit können zum einen Fehlerbalken in beiden Richtungen angegeben werden
und zum anderen können auch unsymmetrische Fehler angezeigt werden.
52
Mathematica_2.nb
[email protected]
8881, 1<, [email protected], 0.3D<, 882, 2<, [email protected], 0.3D<,
883, 4<, [email protected], 8-0.3, 0.5<D<,
884, 8<, [email protected], 0.4<, 8-1, 0.5<D<<,
ErrorBarFunction ® AutomaticD
8
6
4
2
1.5
2.0
2.5
3.0
3.5
4.0
Mathematica_2.nb
Animationen mit Animate
Ÿ Animate Plot
[email protected]@[email protected] xD, 8x, 0, 2 Pi<, Axes ® FalseD, 8n, 1, 16<D
n
53
54
Mathematica_2.nb
[email protected]
[email protected]@5 x + n  6 PiD, 8x, 0, 2 Pi<, Axes ® FalseD, 8n, 1, 12<D
n
Ÿ Spin Show
DrehzA9x_, y_, z_=, Θ_ E :=
8x [email protected]ΘD + y [email protected]ΘD, -x [email protected]ΘD + y [email protected]ΘD, z<
Mathematica_2.nb
[email protected]@
[email protected], [email protected] [email protected], [email protected] [email protected]<, ΘD, 8x, -Π, Π<,
8t, 0, 2 Π<, Axes ® False, Boxed ® False, PlotPoints ® 25,
PlotRange ® 88-3.2, 3.2<, 8-3.2, 3.2<, 8-1, 1<<D, 8Θ, 0, 2 Π<D
Θ
Manipulate
die beste Neuheit ab Mathematica 6
Manipulate[ ] ist so einfach anzuwenden wie Table[ ]
[email protected], [email protected]<, 8x, 0, 10<D
880, 0<, 81, [email protected]<, 82, [email protected]<, 83, [email protected]<, 84, [email protected]<,
85, [email protected]<, 86, [email protected]<, 87, [email protected]<, 88, [email protected]<, 89, [email protected]<, 810, [email protected]<<
55
56
Mathematica_2.nb
[email protected], [email protected]<, 8x, 0, 10<D
x
80, 0<
im Allgemeinen werden die Parameter kontinuierlich verändert,
in manchen Fällen ist dies aber nicht so sinnvoll
Ÿ in diskreten Schritten
[email protected], [email protected]<, 8x, 0, 10, 1<D
x
80, 0<
[email protected]@x^n - 1D, 8n, 10, 100, 1<D
n
H-1 + xL H1 + xL I1 - x + x2 - x3 + x4 M I1 + x + x2 + x3 + x4 M
Ÿ Appearance
[email protected]@x^n - 1D, 8n, 10, 100, 1, Appearance ® "Labeled"<D
n
10
H-1 + xL H1 + xL I1 - x + x2 - x3 + x4 M I1 + x + x2 + x3 + x4 M
Mathematica_2.nb
57
[email protected]@x^n - 1D, 8n, 10, 100, 1, Appearance ® "Open"<D
n
10
H-1 + xL H1 + xL I1 - x + x2 - x3 + x4 M I1 + x + x2 + x3 + x4 M
Ÿ Table Grids
[email protected]@[email protected], i^ m<, 8i, 1, n<D,
Alignment ® Left, Frame ® AllD, 8n, 1, 20, 1<, 8m, 1, 100, 1<D
n
m
1
2
3
4
5
6
7
8
9
10
1
70 368 744 177 664
8 862 938 119 652 501 095 929
4 951 760 157 141 521 099 596 496 896
142 108 547 152 020 037 174 224 853 515 625
623 673 825 204 293 256 669 089 197 883 129 856
749 048 330 965 186 233 494 494 102 694 564 493 649
348 449 143 727 040 986 586 495 598 010 130 648 530 944
78 551 672 112 789 411 833 022 577 315 290 546 060 373 041
10 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000
Für die folgenden "manipulierten" Plots wird einheitlich eine etwas kleinere Bildgröße
voreingestellt.
[email protected], ParametricPlot, Graphics<, ImageSize ® 300D;
Ÿ mehrere Parameter manipulieren
im nachfolgenen Beispiel werden zusätzlich Startparameter definiert :
58
Mathematica_2.nb
[email protected]@[email protected] x - Ω tD, 8x, 0, 10<D,
88k, 2<, 1, 3<, 88Ω, 0.2<, 0, 5<, 8t, 0, 2 Π<D
k
Ω
t
1.0
0.5
2
4
6
8
10
-0.5
-1.0
bei Grafiken ist es oft sinnvoll mit festem PlotRange zu arbeiten:
[email protected]@[email protected] xD + [email protected] xD, 8x, 0, 2 Pi<, PlotRange ® 2D,
88n1, 14<, 1, 20<, 88n2, 2<, 1, 20<D
n1
n2
2
1
1
-1
-2
2
3
4
5
6
Mathematica_2.nb
59
Ÿ Radio Buttons und Pop-up Menüs
[email protected]@[email protected] xD + [email protected] xD, 8x, 0, 2 Pi<,
Filling ® filling, PlotRange ® 2D, 88n1, 8<, 1, 20<,
88n2, 13<, 1, 20<, 8filling, 8None, Axis, Top, Bottom<<D
n1
n2
filling
None
Axis
Top
Bottom
2
1
1
2
3
4
5
6
-1
-2
wenn die Auswahl zu groß wird, erscheint automatisch ein Pop-Up Menü
60
Mathematica_2.nb
[email protected]@[email protected] xD + [email protected] xD,
8x, 0, 2 Pi<, Filling ® filling, PlotRange ® 2D,
8n1, 1, 20<, 8n2, 1, 20<, 8filling,
8None, Axis, Top, Bottom, Automatic, 1, 0.5, 0, -0.5, -1<<D
n1
n2
filling
None
2
1
1
2
3
4
5
6
-1
-2
was man aber auch explizit mit ControlType ® PopupMenu erreichen kann
Mathematica_2.nb
61
Ÿ Checkbox für True und False
[email protected]@[email protected] xD + [email protected] xD, 8x, 0, 2 Pi<, Frame ® frame,
PlotRange ® 2D, 8n1, 1, 20<, 8n2, 1, 20<, 8frame, 8True, False<<D
n1
n2
frame
2
1
0
-1
-2
0
1
2
3
4
Ÿ Anfangswerte und Labels
Ein schönes Beispiel mit Lissajous Kurven
app = Appearance ® "Labeled";
5
6
62
Mathematica_2.nb
[email protected]@8a1 [email protected] Hx + p1LD, a2 [email protected] Hx + p2LD<,
8x, 0, 20 Pi<, PlotRange ® 1, PerformanceGoal ® "Quality"D,
88n1, 1, "Frequency 1"<, 1, 4, app<,
88a1, 1, "Amplitude 1"<, 0, 1, app<,
88p1, 0, "Phase 1"<, 0, 2 Pi, app<,
88n2, 5  4, "Frequency 2"<, 1, 4, app<,
88a2, 1, "Amplitude 2"<, 0, 1, app<,
88p2, 0, "Phase 2"<, 0, 2 Pi, app<D
Frequency 1
1
Amplitude 1
1
Phase 1
0
Frequency 2
1.99997
Amplitude 2
1
Phase 2
0
1.0
0.5
-1.0
-0.5
0.5
1.0
-0.5
-1.0
die Empfindlichkeit der Regler kann erheblich gesteigert werden :
mit der Alt Taste um Faktor 20, mit Alt+Ctrl um Faktor 400
mit mit Alt+Ctrl+Shift um Faktor 8000
Mathematica_2.nb
63
Ÿ weitere Verschönerungen
[email protected]@
8a1 [email protected] Hx + p1LD, a2 [email protected] Hx + p2LD<, 8x, 0, 20 Pi<,
PlotRange ® 1, PerformanceGoal ® "Quality", ImageSize ® 200D,
[email protected]"Horizontal", 12, BoldD, 88n1, 1, "Frequency"<, 1, 4<,
88a1, 1, "Amplitude"<, 0, 1<, 88p1, 0, "Phase"<, 0, 2 Pi<,
Delimiter, [email protected]"Vertical", 12, BoldD,
88n2, 5  4, "Frequency"<, 1, 4<, 88a2, 1, "Amplitude"<, 0, 1<,
88p2, 0, "Phase"<, 0, 2 Pi<, ControlPlacement ® LeftD
Horizontal
1.0
Frequency
Amplitude
0.5
Phase
Vertical
-1.0
-0.5
0.5
Frequency
Amplitude
-0.5
Phase
-1.0
1.0
64
Mathematica_2.nb
Ÿ 2 D Sliders
[email protected]@[email protected]@[email protected], [email protected]<, pt<,
8t, 2. Pi  n, 2. Pi, 2. Pi  n<DD<, PlotRange ® 1D,
88n, 50<, 1, 200, 1<, 88pt, 80, 0<<, 8-1, -1<, 81, 1<<D
n
pt
Mathematica_2.nb
Ÿ Locators
[email protected]@[email protected]
[email protected]@tD, [email protected]<, pt<, 8t, 2. Pi  n, 2. Pi, 2. Pi  n<DD<,
PlotRange ® 1D, 88n, 30<, 1, 200, 1<, 88pt, 80, 0<<, Locator<D
n
ã Polynom durch n Punkte
mit Alt - Klick lassen sich Punkte sowohl hinzufügen als auch löschen
65
66
Mathematica_2.nb
[email protected]@[email protected], xD, 8x, -2, 2<,
PlotRange ® 8-4, 4<, PlotStyle ® 8Red, Thick<, ImageSize ® 350D,
8 8 points, 88-1, 2<, 80, -2<, 81, -3<<<,
Locator , LocatorAutoCreate ® True<D
4
2
-2
-1
1
2
-2
-4
eine vollständigere Übersicht über die Möglichkeiten mit Manipulate
und weitere Grafik-Elemente sind in der
Ergänzung zu Mathematica(2) auf der CIW Webseite zu finden.