Improved indices. Added optional parameter for index to *term* macros.
This commit is contained in:
@@ -34,13 +34,13 @@ Zwecken genutzt wird.
|
||||
Ein Datenplot muss ausreichend beschriftet werden:
|
||||
\begin{itemize}
|
||||
\item Alle Achsen m\"ussen eine Bezeichnung und eine Einheit erhalten\\
|
||||
(z.B. \code{xlabel('Geschwindigkeit [m/s]'}).
|
||||
(z.B. \code[xlabel()]{xlabel('Geschwindigkeit [m/s]'}).
|
||||
\item Wenn mehrere Dinge in einem Plot dargestellt werden, m\"ussen
|
||||
diese mit einer Legende oder \"ahnlichem benannt werden
|
||||
\matlabfun{legend()}.
|
||||
\item Mehrere Plots mit den gleichen Gr\"o{\ss}en auf den Achsen,
|
||||
m\"ussen den gleichen Wertebereich auf den Achsen zeigen
|
||||
(z.B. \code{xlim([0 100])}.\\
|
||||
(z.B. \code[xlim()]{xlim([0 100])}.\\
|
||||
Ausnahmen sind m\"oglich, sollten aber in der
|
||||
Abbildungsunterschrift erw\"ahnt werden.
|
||||
\item Die Beschriftung mu{\ss} gro{\ss} genug sein, um lesbar zu sein.
|
||||
@@ -142,7 +142,7 @@ darzustellen (\figref{misleadingsymbolsfig}).
|
||||
\section{Das Plottingsystem von \matlab{}}
|
||||
|
||||
Plotten in \matlab{} ist zun\"achst einmal einfach. Durch den Aufruf
|
||||
von \code{plot(x, y)} wird ein einfacher, schlichter Linienplot
|
||||
von \code[plot()]{plot(x, y)} wird ein einfacher, schlichter Linienplot
|
||||
erstellt. Diesem Plot fehlen jedoch jegliche Annotationen wie
|
||||
Achsbeschriftungen, Legenden, etc. Es gibt zwei M\"oglichkeiten diese
|
||||
hinzuzuf\"ugen: (i) das Graphische User Interface oder (ii) die
|
||||
@@ -212,9 +212,9 @@ Datens\"atzen erstellt werden soll.
|
||||
\subsection{Einfaches Plotten}
|
||||
|
||||
Einen einfachen Linienplot zu erstellen ist denkbar
|
||||
einfach. Angenommen, es existiert einer Variable \code{y} im
|
||||
einfach. Angenommen, es existiert einer Variable \varcode{y} im
|
||||
\enterm{Workspace}, die die darzustellenden Daten enth\"alt. Es
|
||||
gen\"ugt folgender Funktionsaufruf: \code{plot(y)}. Wenn bislang noch
|
||||
gen\"ugt folgender Funktionsaufruf: \code[plot()]{plot(y)}. Wenn bislang noch
|
||||
keine Abbildung erstellt wurde, \"offnet \matlab{} ein neues Fenster
|
||||
und stellt die Daten als Linienplot dar. Dabei werden die Datenpunkte
|
||||
durch eine Linie verbunden. Die Messpunkte selbst sind nicht
|
||||
@@ -223,14 +223,14 @@ ersetzt. Das Festhalten von bestehenden Plots kann an- oder abgestellt
|
||||
werden indem \code{hold on} bzw. \code{hold off} vor dem \code{plot()}
|
||||
Befehl aufgerufen wird.
|
||||
|
||||
Im obigen Plot Aufruf wird nur ein Argument, das \code{y}, an die
|
||||
Funktion \code{plot} \"ubergeben. \code{plot} erh\"alt nur die
|
||||
Im obigen Plot Aufruf wird nur ein Argument, das \varcode{y}, an die
|
||||
Funktion \code{plot()} \"ubergeben. \code{plot()} erh\"alt nur die
|
||||
y-Werte. \matlab{} substituiert in diesem Fall die fehlenden x-Werte,
|
||||
indem eine Schrittweite von 1 angenommen wird. Die x-Achse reicht also
|
||||
von 1 bis zur L\"ange des Vektors \code{y}. Diese Skalierung der
|
||||
von 1 bis zur L\"ange des Vektors \varcode{y}. Diese Skalierung der
|
||||
x-Achse ist nur in den wenigsten F\"allen erw\"unscht. Besser ist es,
|
||||
die zugeh\"origen x-Werte explixit zu \"ubergeben und so z.B. die
|
||||
y-Werte als Funktion der Zeit darzustellen (\code{plot(x, y)}).
|
||||
y-Werte als Funktion der Zeit darzustellen (\code[plot()]{plot(x, y)}).
|
||||
Standard\"a{\ss}ig wird der erste Lininenplot in blau, mit
|
||||
durchgezogener Linie, ohne Marker und der Strichst\"arke 1
|
||||
dargestellt. Der zweite Linienplot erh\"alt automatisch die Farbe
|
||||
@@ -291,11 +291,11 @@ die Farbe und die verschiedenen Marker.
|
||||
\subsection{Ver\"andern von Linieneigenschaften}
|
||||
|
||||
Die Eigenschaften des Linienplots k\"onnen \"uber weitere Argumente
|
||||
des \code{plot} Befehls ver\"andert werden. Folgender Aufruf (Listing
|
||||
der \code{plot()} Funktion ver\"andert werden. Folgender Aufruf (Listing
|
||||
\ref{settinglineprops})erzeugt einen roten Linienplot mit gepunkteter
|
||||
Linie der St\"arke 1.5 und Sternmarkern an den Positionen der
|
||||
Datenpunkte. Zus\"atzlich wird noch die Eigenschaft
|
||||
\codeterm{displayname} gesetzt, um dem Linienplot einen Namen zu
|
||||
\code{displayname} gesetzt, um dem Linienplot einen Namen zu
|
||||
geben, der in einer Legende verwendet werden kann.
|
||||
|
||||
\begin{lstlisting}[label=settinglineprops, caption={Setzen von Linieneigenschaften beim \varcode{plot} Aufruf}]
|
||||
@@ -307,46 +307,47 @@ geben, der in einer Legende verwendet werden kann.
|
||||
\subsection{Ver\"andern von Achseneigenschaften}
|
||||
|
||||
Das erste, was ein Plot zus\"atzlich braucht, ist eine
|
||||
Achsenbeschriftung. Mithilfe der Funktionen \code{xlabel('Time [ms]')}
|
||||
und \code{ylabel('Voltage [V]')} k\"onnen diese gesetzt
|
||||
Achsenbeschriftung. Mithilfe der Funktionen \code[xlabel()]{xlabel('Time [ms]')}
|
||||
und \code[ylabel()]{ylabel('Voltage [V]')} k\"onnen diese gesetzt
|
||||
werden.
|
||||
|
||||
Standardm\"a{\ss}ig setzt Matlab die Grenzen der x- und y-Achse so,
|
||||
dass die Daten hineinpassen. Dabei wird meist auf den n\"achsten
|
||||
ganzzahligen Wert aufgerundet. Mit den Funktionen \code{xlim} und
|
||||
\code{ylim} k\"onnen die Grenezen der Achsen aber auch manuell
|
||||
eingestellt werden. Die Funktionen \code{xlim} und \code{ylim}
|
||||
ganzzahligen Wert aufgerundet. Mit den Funktionen \code{xlim()} und
|
||||
\code{ylim()} k\"onnen die Grenezen der Achsen aber auch manuell
|
||||
eingestellt werden. Die Funktionen \code{xlim()} und \code{ylim()}
|
||||
erwarten als Argument einen 2-elementigen Vektor mit dem Minimum und
|
||||
dem Maximum der jeweiligen Achse. Tabelle \ref{plotaxisprops} listet
|
||||
weitere h\"aufig genutzte Einstellungen der Achsen. Mit der \code{set}
|
||||
- Funktion k\"onnen diese ver\"andert werden wie in Zeile 15 in
|
||||
Listing \ref{niceplotlisting} gezeigt. Die \code{set} - Funktion
|
||||
erwartet als erstes Argument ein sogenanntes Handle der Achse, dieses
|
||||
wird gefolgt von einer beliebig langen Reihe von Eigenschaft-Wert
|
||||
Paaren. Soll z.B. das Gitternetz der x-Achse gezeigt werden, wird die
|
||||
Eigenschaft \codeterm{XGrid} auf den Wert \codeterm{'on'} gesetzt:
|
||||
\code{set(gca, 'XGrid', 'on');}. Das erste Argument ist ein Aufruf der
|
||||
Funktion \code{gca}, ``get-current-axis'' und ist das Achsenhandle der
|
||||
gerade aktiven Achse.
|
||||
weitere h\"aufig genutzte Einstellungen der Achsen. Mit der
|
||||
\code{set()} - Funktion k\"onnen diese ver\"andert werden wie in Zeile
|
||||
15 in Listing \ref{niceplotlisting} gezeigt. Die \code{set()} -
|
||||
Funktion erwartet als erstes Argument ein sogenanntes Handle der
|
||||
Achse, dieses wird gefolgt von einer beliebig langen Reihe von
|
||||
Eigenschaft-Wert Paaren. Soll z.B. das Gitternetz der x-Achse gezeigt
|
||||
werden, wird die Eigenschaft \code{XGrid} auf den Wert
|
||||
\varcode{'on'} gesetzt: \code[set()!set(gca, 'XGrid',
|
||||
'on')]{set(gca, 'XGrid', 'on');}. Das erste Argument ist ein Aufruf
|
||||
der Funktion \code{gca}, \enterm{get-current-axis} und ist das Achsenhandle
|
||||
der gerade aktiven Achse.
|
||||
|
||||
\begin{table}[tp]
|
||||
\titlecaption{Ausgew\"ahlte Eigenschaften der Achse.}{ Alle Eigenschaften der Achse findet man in der Hilfe oder im \codeterm{Property Editor} (\figref{ploteditorfig}). Wenn es eine definierte Auswahl von Einstellungen gibt, z.B. bei der Eigenschaft \codeterm{Box}, dann ist die Standardeinstellungen als erstes gelistet.}\label{plotaxisprops}
|
||||
\titlecaption{Ausgew\"ahlte Eigenschaften der Achse.}{ Alle Eigenschaften der Achse findet man in der Hilfe oder im \codeterm{Property Editor} (\figref{ploteditorfig}). Wenn es eine definierte Auswahl von Einstellungen gibt, z.B. bei der Eigenschaft \code{Box}, dann ist die Standardeinstellungen als erstes gelistet.}\label{plotaxisprops}
|
||||
\begin{tabular*}{1\textwidth}{lp{6.3cm}p{6cm}} \hline
|
||||
\textbf{Eigenschaft} & \textbf{Beschreibung} & \textbf{Optionen} \\ \hline
|
||||
\codeterm{Box} & Definiert, ob der Rahmen der Achse vollst\"andig gezeichnet wird. & $\{'on'|'off'\}$ \\
|
||||
\codeterm{Color} & Hintergrundfarbe des Koordinatensystems. & Beliebige RGB, CMYK ... Werte. \\
|
||||
\codeterm{Fontname} & Der Name der Schriftart. & Im System installierte Schriften. \\
|
||||
\codeterm{FontSize} & Gr\"o{\ss}e der Schrift. & Skalarer Wert.\\
|
||||
\codeterm{FontUnit} & Einheit, in der die Schriftgr\"o{\ss}e bestimmt wird. & $\{'points' | 'centimeters' | 'inches', ...\}$\\
|
||||
\codeterm{FontWeight} & Fett- oder Normalsatz der Schrift. & $\{'normal' | 'bold'\}$\\
|
||||
\code{Box} & Definiert, ob der Rahmen der Achse vollst\"andig gezeichnet wird. & $\{'on'|'off'\}$ \\
|
||||
\code{Color} & Hintergrundfarbe des Koordinatensystems. & Beliebige RGB, CMYK ... Werte. \\
|
||||
\code{Fontname} & Der Name der Schriftart. & Im System installierte Schriften. \\
|
||||
\code{FontSize} & Gr\"o{\ss}e der Schrift. & Skalarer Wert.\\
|
||||
\code{FontUnit} & Einheit, in der die Schriftgr\"o{\ss}e bestimmt wird. & $\{'points' | 'centimeters' | 'inches', ...\}$\\
|
||||
\code{FontWeight} & Fett- oder Normalsatz der Schrift. & $\{'normal' | 'bold'\}$\\
|
||||
% & 'd' \\ ??????
|
||||
\codeterm{TickDir} & Richtung der Teilstriche auf der Achse. & $\{'in' | 'out'\}$\\
|
||||
\codeterm{TickLength} & L\"ange der Haupt- und Nebenteilstriche & \\
|
||||
\codeterm{X-, Y-, ZDir} & Richtung der Achsskalierung. & $\{'normal' | 'reversed'\}$\\
|
||||
\codeterm{X-, Y-, ZGrid} & Sollen Gitternetzlinien gezeigt werden? & $\{'off'|'on'\}$ \\
|
||||
\codeterm{X-, Y-, ZScale} & Lineare oder logarithmische Skalierung der Achse. & $\{'linear' | 'log'\}$\\
|
||||
\codeterm{X-, Y-, ZTick} & Position der Teilstriche auf der Achse. & Vektor mit Positionen.\\
|
||||
\codeterm{X-, Y-, ZTickLabel} & Beschriftung der Teilstriche. & Vektor mit entsprechenden Zahlen oder Cell-Array mit Strings.\\ \hline
|
||||
\code{TickDir} & Richtung der Teilstriche auf der Achse. & $\{'in' | 'out'\}$\\
|
||||
\code{TickLength} & L\"ange der Haupt- und Nebenteilstriche & \\
|
||||
\code{X-, Y-, ZDir} & Richtung der Achsskalierung. & $\{'normal' | 'reversed'\}$\\
|
||||
\code{X-, Y-, ZGrid} & Sollen Gitternetzlinien gezeigt werden? & $\{'off'|'on'\}$ \\
|
||||
\code{X-, Y-, ZScale} & Lineare oder logarithmische Skalierung der Achse. & $\{'linear' | 'log'\}$\\
|
||||
\code{X-, Y-, ZTick} & Position der Teilstriche auf der Achse. & Vektor mit Positionen.\\
|
||||
\code{X-, Y-, ZTickLabel} & Beschriftung der Teilstriche. & Vektor mit entsprechenden Zahlen oder Cell-Array mit Strings.\\ \hline
|
||||
\end{tabular*}
|
||||
\end{table}
|
||||
|
||||
@@ -357,16 +358,16 @@ gerade aktiven Achse.
|
||||
\titlecaption{Ausgew\"ahlte Eigenschaften der \codeterm{Figure}.}{Alle Eigenschaften der Figure findet man in der Hilfe von \matlab{} oder im \codeterm{Property Editor} wenn die Abbildung ausgew\"ahlt wurde (\figref{ploteditorfig}).}\label{plotfigureprops}
|
||||
\begin{tabular*}{1\textwidth}{lp{6.3cm}p{6cm}} \hline
|
||||
\textbf{Eigenschaft} & \textbf{Beschreibung} & \textbf{Optionen} \\ \hline
|
||||
\codeterm{Color} & Hintergrundfarbe der Zeichenfl\"ache. & Beliebige RGB, CMYK ... Werte. \\
|
||||
\codeterm{PaperPosition} & Position der Abbildung auf dem Papier & 4-elementiger Vektor mit den Positionen der linken-unteren, und rechten-oberen Ecke. \\
|
||||
\codeterm{PaperSize} & Gr\"o{\ss}e der des Papiers. & 2-elementiger Vektor mit der Papiergr\"o{\ss}e.\\
|
||||
\codeterm{PaperUnits} & Einheit, in der die Papiergr\"o{\ss}e bestimmt wird. & $\{'inches' | 'centimeters' | 'normalized' | 'points'\}$\\
|
||||
\codeterm{Visible} & Hilfreich, wenn ein Plot aus Performanzgr\"unden nicht auf dem Bildschirm gezeigt, sondern direkt gespeichert werden soll. & $\{'on' | 'off'\}$\\ \hline
|
||||
\code{Color} & Hintergrundfarbe der Zeichenfl\"ache. & Beliebige RGB, CMYK ... Werte. \\
|
||||
\code{PaperPosition} & Position der Abbildung auf dem Papier & 4-elementiger Vektor mit den Positionen der linken-unteren, und rechten-oberen Ecke. \\
|
||||
\code{PaperSize} & Gr\"o{\ss}e der des Papiers. & 2-elementiger Vektor mit der Papiergr\"o{\ss}e.\\
|
||||
\code{PaperUnits} & Einheit, in der die Papiergr\"o{\ss}e bestimmt wird. & $\{'inches' | 'centimeters' | 'normalized' | 'points'\}$\\
|
||||
\code{Visible} & Hilfreich, wenn ein Plot aus Performanzgr\"unden nicht auf dem Bildschirm gezeigt, sondern direkt gespeichert werden soll. & $\{'on' | 'off'\}$\\ \hline
|
||||
\end{tabular*}
|
||||
\end{table}
|
||||
|
||||
Wie die Achse, hat auch das \codeterm{Figure} Element eine Reihe von
|
||||
Eigenschaften, die nach Bedarf mit der \code{set} - Funktion gesetzt
|
||||
Eigenschaften, die nach Bedarf mit der \code{set()} - Funktion gesetzt
|
||||
werden k\"onnen (Tabelle \ref{plotfigureprops} listet die
|
||||
meistverwendeten). Das erste Argument f\"ur \code{set()} ist jetzt
|
||||
aber eine Handle f\"ur die Abbildung, nicht das
|
||||
@@ -380,7 +381,7 @@ Aufruf des Skripts wird exakt der gleiche Plot (Abbildung
|
||||
sind hier vor allem die Zeilen 2 und 3 in denen die Gr\"o{\ss}e der
|
||||
Abbildung in Zentimetern definiert wird. In Zeile 16 wird die
|
||||
Abbildung dann in genau der angegebenen Gr\"o{\ss}e im ``pdf'' Format
|
||||
gespeichert. Dazu wird die Funktion \code{saveas} verwendet, die als
|
||||
gespeichert. Dazu wird die Funktion \code{saveas()} verwendet, die als
|
||||
erstes Argument wieder ein Handle auf die Figure erwartet. Das zweite
|
||||
Argument ist der Dateiname, und zuletzt muss das gew\"unschte Format
|
||||
(Box \ref{graphicsformatbox}) angegeben werden.
|
||||
@@ -423,10 +424,10 @@ Homepage viele Beispiele mit zugeh\"origem Code
|
||||
\end{minipage}
|
||||
\hfill
|
||||
\begin{minipage}[t]{0.5\textwidth}
|
||||
Von \matlab{} unterst\"utzte Formate\footnote{Auswahl, mehr Information in der Hilfe zu \code{saveas}}:\\[2ex]
|
||||
Von \matlab{} unterst\"utzte Formate\footnote{Auswahl, mehr Information in der Hilfe zu \code{saveas()}}:\\[2ex]
|
||||
\begin{tabular}{|l|c|l|}
|
||||
\hline
|
||||
\textbf{Format} & \textbf{Typ} & \code{saveas} Argument \rule[-1.2ex]{0pt}{3.5ex} \\ \hline
|
||||
\textbf{Format} & \textbf{Typ} & \code{saveas()} Argument \rule[-1.2ex]{0pt}{3.5ex} \\ \hline
|
||||
pdf & Vektor & \varcode{'pdf'} \rule{0pt}{2.5ex} \\
|
||||
eps & Vektor & \varcode{'eps'}, \varcode{'epsc'} \\
|
||||
SVG & Vektor & \varcode{'svg'} \\
|
||||
|
||||
Reference in New Issue
Block a user