diff --git a/bootstrap/lecture/bootstrap.tex b/bootstrap/lecture/bootstrap.tex index 9f96e32..7a4fbe8 100644 --- a/bootstrap/lecture/bootstrap.tex +++ b/bootstrap/lecture/bootstrap.tex @@ -44,7 +44,7 @@ die \determ{Stichprobenverteilung} (\enterm{sampling distribution}, \includegraphics[height=0.2\textheight]{srs2}\\[2ex] \includegraphics[height=0.2\textheight]{srs3} \titlecaption{\label{bootstrapsamplingdistributionfig}Bootstrap der - Stichprobenverteilung}{(a) Von der Grundgesamtheit (population) mit + Stichprobenverteilung.}{(a) Von der Grundgesamtheit (population) mit unbekanntem Parameter (z.B. Mittelwert $\mu$) zieht man Stichproben (SRS: simple random samples). Die Statistik (hier Bestimmung von $\bar x$) kann f\"ur jede Stichprobe berechnet diff --git a/designpattern/lecture/designpattern-chapter.tex b/designpattern/lecture/designpattern-chapter.tex index 23dfe21..4a44fbf 100644 --- a/designpattern/lecture/designpattern-chapter.tex +++ b/designpattern/lecture/designpattern-chapter.tex @@ -5,7 +5,7 @@ \lstset{inputpath=../code} \graphicspath{{figures/}} -\setcounter{page}{129} +\setcounter{page}{133} \setcounter{chapter}{8} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/designpattern/lecture/designpattern.tex b/designpattern/lecture/designpattern.tex index ec90e3f..1965ee8 100644 --- a/designpattern/lecture/designpattern.tex +++ b/designpattern/lecture/designpattern.tex @@ -10,7 +10,7 @@ einige dieser ``Design pattern'' zusammen. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{for Schleifen \"uber Vektoren} Grundlegend ist das Iterieren \"uber den Inhalt eines Vektors mit einer \code{for}-Schleife: -\begin{lstlisting}[caption={for-Schleife mit Indexen \"uber einen Vektor}] +\begin{lstlisting}[caption={\varcode{for}-Schleife mit Indexen \"uber einen Vektor}] x = [2:3:20]; % irgendein Vektor for i=1:length(x) % Mit der for-Schleife "loopen" wir ueber den Vektor i % das ist der Index, der die Elemente des Vektors indiziert. @@ -24,7 +24,7 @@ end Wenn in der Schleife das Ergebnis in einen Vektor gespeichert werden soll, sollten wir vor der Schleife schon einen Vektor f\"ur die Ergebnisse erstellen: -\begin{lstlisting}[caption={for-Schleife zum Schreiben eines Vektors}] +\begin{lstlisting}[caption={\varcode{for}-Schleife zum Schreiben eines Vektors}] x = [1.2 2.3 2.6 3.1]; % irgendein Vektor y = zeros(length(x),1); % Platz fuer die Ergebnisse, genauso viele wie Loops der Schleife for i=1:length(x) @@ -39,7 +39,7 @@ mean(y) Die Berechnungen in der Schleife k\"onnen statt einer Zahl auch einen Vektor zur\"uckgeben. Wenn die L\"ange diese Vektors bekannt ist, dann kann vorher eine entsprechend gro{\ss}e Matrix angelegt werden: -\begin{lstlisting}[caption={for-Schleife zum Schreiben von Zeilen einer Matrix}] +\begin{lstlisting}[caption={\varcode{for}-Schleife zum Schreiben von Zeilen einer Matrix}] x = [2:3:20]; % irgendein Vektor y = zeros(length(x),10); % Platz fuer die Ergebnisse for i=1:length(x) @@ -54,7 +54,7 @@ mean(y, 1) Alternativ k\"onnen die in der Schleife erzeugten Vektoren zu einem einzigen, durchgehenden Vektor zusammengestellt werden: -\begin{lstlisting}[caption={for-Schleife zum Aneinanderh\"angen von Vektoren}] +\begin{lstlisting}[caption={\varcode{for}-Schleife zum Aneinanderh\"angen von Vektoren}] x = [2:3:20]; % irgendein Vektor y = []; % Leerer Vektor fuer die Ergebnisse for i=1:length(x) @@ -87,7 +87,7 @@ y = randn(100, 1)*sigma + mu; \end{lstlisting} Das gleiche Prinzip ist manchmal auch sinnvoll f\"ur \code{zeros()} oder \code{ones()}: -\begin{lstlisting}[caption={Skalierung von zeros und ones}] +\begin{lstlisting}[caption={Skalierung von \varcode{zeros()} und \varcode{ones()}}] x = -1:0.01:2; % Vektor mit x-Werten plot(x, exp(-x.*x)); % Plotte f\"ur die gleichen x-Werte eine Linie mit y=0.8: @@ -142,25 +142,25 @@ mit anderen Histogrammen oder mit theoretischen Wahrscheinlichkeitsverteilungen werden. Die \code{histogram()} Funktion macht das mit den entsprechenden Parametern automatisch: -\begin{lstlisting}[caption={Probability-density-function mit der histogram-Funktion}] +\begin{lstlisting}[caption={Probability-density-function mit der \varcode{histogram()}-Funktion}] x = randn(100, 1); % irgendwelche reellwertige Daten histogram(x, 'Normalization', 'pdf'); \end{lstlisting} -\begin{lstlisting}[caption={Probability mit der histogram-Funktion}] +\begin{lstlisting}[caption={Probability mit der \varcode{histogram()}-Funktion}] x = randi(6, 100, 1); % irgendwelche integer Daten histogram(x, 'Normalization', 'probability'); \end{lstlisting} -So geht es aber auch: -\begin{lstlisting}[caption={Probability-density-function mit der hist- und bar-Funktion}] +So geht es mit der \code{hist()}-Funktion: +\begin{lstlisting}[caption={Probability-density-function mit der \varcode{hist()}- und \varcode{bar()}-Funktion}] x = randn(100, 1); % irgendwelche reellwertige Daten [h, b] = hist(x); % Histogram berechnen h = h/sum(h)/(b(2)-b(1)); % normieren zu einer Wahrscheinlichkeitsdichte bar(b, h); % und plotten. \end{lstlisting} -\begin{lstlisting}[caption={Probability mit der hist- und bar-Funktion}] +\begin{lstlisting}[caption={Probability mit der \varcode{hist()}- und \varcode{bar()}-Funktion}] x = randi(6, 100, 1); % irgendwelche integer Daten [h, b] = hist(x); % Histogram berechnen h = h/sum(h); % normieren zu Wahrscheinlichkeiten diff --git a/plotting/lecture/plotting.tex b/plotting/lecture/plotting.tex index e1f4289..ac917f1 100644 --- a/plotting/lecture/plotting.tex +++ b/plotting/lecture/plotting.tex @@ -177,7 +177,7 @@ Einstellungsm\"oglichkeiten. Wie schon erw\"ahnt, k\"onnen diese \begin{minipage}[t]{0.3\columnwidth} \includegraphics[width=0.9\textwidth]{property_editor} \end{minipage} - \titlecaption{Graphisches Interface ``Plot Editor''.}{\"Uber das Menu + \titlecaption{Der \matlab{} Plot-Editor.}{\"Uber das Menu ``Tools $\rightarrow$ Edit Plot'' erreicht man den Plot Editor. Je nachdem welches Element des Plots ausgew\"ahlt wurde, ver\"andern sich die Einstellungsm\"oglichkeiten. Weitere Eigenschaften und diff --git a/pointprocesses/lecture/pointprocesses.tex b/pointprocesses/lecture/pointprocesses.tex index a40e7d6..a9b5fda 100644 --- a/pointprocesses/lecture/pointprocesses.tex +++ b/pointprocesses/lecture/pointprocesses.tex @@ -25,7 +25,9 @@ sogenannten \determ[Punktprozess]{Punktprozessen}. (homogener Poisson Prozess mit Rate $\lambda=20$\;Hz, links) und eines nicht-station\"aren Punktprozesses (perfect integrate-and-fire Neuron getrieben mit Ohrnstein-Uhlenbeck - Rauschen mit Zeitkonstante $\tau=100$\,ms, rechts).} + Rauschen mit Zeitkonstante $\tau=100$\,ms, rechts). Jeder + vertikale Strich markiert den Zeitpunkt eines Ereignisses. + Jede Zeile zeigt die Ereignisse eines trials.} \end{figure} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -302,13 +304,11 @@ Abbildung \ref{psthfig} n\"aher erl\"autert. \begin{figure}[tp] \includegraphics[width=\columnwidth]{firingrates} - \titlecaption{Verschiedene Methoden die zeitabh\"angige Feuerrate - zu bestimmen.}{\textbf{A)} Rasterplot einer einzelnen neuronalen - Antwort. Jeder vertikale Strich notiert den Zeitpunkt eines - Aktionspotentials. \textbf{B)} Feurerrate aus der instantanen - Feuerrate bestimmt. \textbf{C)} klassisches PSTH mit der Binning - Methode. \textbf{D)} Feuerrate durch Faltung mit einem Gauss Kern - bestimmt.}\label{psthfig} + \titlecaption{Bestimmung der zeitabh\"angigen + Feuerrate.}{\textbf{A)} Rasterplot eines Spiketrains. \textbf{B)} + Feurerrate aus der instantanen Feuerrate bestimmt. \textbf{C)} + klassisches PSTH mit der Binning Methode. \textbf{D)} Feuerrate + durch Faltung mit einem Gauss Kern bestimmt.}\label{psthfig} \end{figure} @@ -317,8 +317,7 @@ Abbildung \ref{psthfig} n\"aher erl\"autert. \begin{figure}[tp] \includegraphics[width=\columnwidth]{isimethod} \titlecaption{Instantane Feuerrate.}{Skizze eines Spiketrains - (oben). Jeder vertikale Strich notiert den Zeitpunkt eines - Aktionspotentials. Die Pfeile zwischen aufeinanderfolgenden + (oben). Die Pfeile zwischen aufeinanderfolgenden Aktionspotentialen mit den Zahlen in Millisekunden illustrieren die Interspikeintervalle. Der Kehrwert des Interspikeintervalle ergibt die instantane Feuerrate.}\label{instrate} diff --git a/programming/lecture/programming.tex b/programming/lecture/programming.tex index ce92353..e829143 100644 --- a/programming/lecture/programming.tex +++ b/programming/lecture/programming.tex @@ -295,24 +295,22 @@ sich um einen Zeilen- oder Spaltenvektor handelt. Die Listings \ref{arrayListing4} und \ref{arrayListing5} zeigen wie mit Indexen auf die Inhalte eines Vektors zugegriffen werden kann. -\begin{lstlisting}[label=arrayListing4, caption={Zugriff auf den Inhalt von Vektoren I}] - >> a = (11:20); - >> a(1) % das 1. Element - ans = - 11 - >> a(5) % das 5. Element - ans = - 15 - >> a(end) % das letzte Element - ans = - 20 +\begin{lstlisting}[label=arrayListing4, caption={Zugriff auf den Inhalt von Vektoren: einzelne Elemente}] + >> a = (11:20) + a = 11 12 13 14 15 16 17 18 19 20 + >> a(1) % das 1. Element + ans = 11 + >> a(5) % das 5. Element + ans = 15 + >> a(end) % das letzte Element + ans = 20 \end{lstlisting} Hierbei kann auf einzelne Werte zugegriffen werden oder, analog zur Erzeugung von Vektoren, die \code[Operator!Matrix!:]{:} Notation verwendet werden, um auf mehrere Element gleichzeitig zuzugreifen. -\begin{lstlisting}[caption={Zugriff auf den Inhalt von Vektoren I}, label=arrayListing5] +\begin{lstlisting}[caption={Zugriff auf den Inhalt von Vektoren: Bereiche}, label=arrayListing5] >> a([1 3 5]) % das 1., 3. und 5. Element ans = 11 13 15 @@ -578,7 +576,7 @@ Eine elementweise Multiplikation \ref{matrixOperations} Zeile 12, Box \ref{matrixmultiplication}) durchgef\"uhrt werden soll. -\begin{lstlisting}[label=matrixOperations, caption={Zwei Arten von Multiplikationen auf Matrizen.}] +\begin{lstlisting}[label=matrixOperations, caption={Zwei Arten der Multiplikation von Matrizen.}] >> A = randi(10, [3, 3]) % 2-D Matrix A = 3 8 2 @@ -849,10 +847,10 @@ bestimmten Zeitraums ausw\"ahlen m\"ochte (Abbildung \begin{figure}[h] \includegraphics[width= 0.9\columnwidth]{logicalIndexingTime} - \titlecaption{Beispiel f\"ur ``indirektes'' logisches Indizieren.} - {Der rot markierte Abschnitt aus den Daten wurde ``indirekt'' - anhand logischen Indizierens auf dem Zeitvektor - ausgew\"ahlt.}\label{logicalindexingfig} + \titlecaption{Beispiel f\"ur logisches Indizieren.} + {Der rot markierte Abschnitt aus den Daten wurde indirekt + mit logischem Indizieren auf dem Zeitvektor + ausgew\"ahlt (\varcode{x(t > 5 & t < 6)}).}\label{logicalindexingfig} \end{figure} \begin{exercise}{logicalIndexingTime.m}{} @@ -946,10 +944,17 @@ Anweisungen ausgef\"uhrt werden. Die Schleife wird durch das Schl\"usselwort \code{end} beendet. Listing \ref{looplisting} zeigt das Grundger\"ust einer for-Schleife. -\begin{lstlisting}[caption={Beispiel einer \varcode{for} Schleife. Die Laufvariable \varcode{x} nimmt mit jeder Iteration der Schleife einen Wert des Vektors \varcode{1:5} an.}, label=looplisting] -for x = 1:5 - % ... etwas sinnvolles mit x ... -end +\begin{lstlisting}[caption={Beispiel einer \varcode{for}-Schleife.}, label=looplisting] +>> for x = 1:5 + disp(x); + end +% die Laufvariable x nimmt mit jeder Iteration der Schleife +% einen Wert des Vektors 1:5 an: + 1 + 2 + 3 + 4 + 5 \end{lstlisting} @@ -1106,22 +1111,32 @@ werden, werden die Schl\"usselworte \code{break} und \code{continue} eingesetzt (Listing \ref{breakcontinuelisting} zeigt, wie sie eingesetzt werden k\"onnen). -\begin{lstlisting}[caption={Einsatz der \varcode{continue} und \varcode{break} Schl\"usselworte um die Ausf\"uhrung von Code-Abschnitten in Schleifen zu \"uberspringen oder abzubrechen.}, label=breakcontinuelisting] -for x = 1:10 +\begin{lstlisting}[caption={Abbrechen von Schleifen mit \varcode{break}.}, label=breaklisting] +>> x = 1; + while true + if (x > 3) + break; + end + disp(x); + x = x + 1; + end +% output: + 1 + 2 + 3 +\end{lstlisting} + +\begin{lstlisting}[caption={\"Uberspringen von Code-Abschnitten in Schleifen mit \varcode{continue}.}, label=continuelisting] +for x = 1:5 if(x > 2 & x < 5) continue; end disp(x); end - -x = 1; -while true - if(x > 5) - break; - end - disp(x); - x = x + 1 -end +% output: + 1 + 2 + 5 \end{lstlisting} \begin{exercise}{logicalIndexingBenchmark.m}{logicalIndexingBenchmark.out} @@ -1225,7 +1240,7 @@ Das Folgende Beispiel (Listing \ref{badsinewavelisting}) zeigt eine Funktion, die eine Reihe von Sinusschwingungen unterschiedlicher Frequenzen berechnet und graphisch darstellt. -\begin{lstlisting}[caption={Eine Beispielfunktion, die eine Reihe Sinusse plottet.},label=badsinewavelisting] +\begin{lstlisting}[caption={Ein schlechtes Beispiel einer Funktion, die eine Reihe Sinusse plottet.},label=badsinewavelisting] function meine_erste_funktion() % Funktionskopf t = (0:0.01:2); % hier faengt der Funktionskoerper an frequenz = 1.0; @@ -1277,7 +1292,7 @@ welche Daten sie zur\"uckliefern soll. \begin{enumerate} \item \codeterm[Funktion!Name]{Name}: der Name sollte beschreiben, was die Funktion tut. In diesem Fall berechnet sie einen Sinus. Ein - geeigneter Name w\"are also \code{calculate\_sinewave()}. + geeigneter, kurzer Name w\"are also \code{sinewave()}. \item \codeterm[Funktion!Argumente]{Argumente}: die zu brechnende Sinusschwingung sei durch ihre Frequenz und die Amplitude bestimmt. Des Weiteren soll noch festgelegt werden, wie lang der @@ -1293,10 +1308,10 @@ welche Daten sie zur\"uckliefern soll. Mit dieser Information ist es nun gut m\"oglich die Funktion zu implementieren (Listing \ref{sinefunctionlisting}). -\begin{lstlisting}[caption={Funktion, die einen Sinus berechnet.}, label=sinefunctionlisting] -function [time, sine] = calculate_sinewave(frequency, amplitude, t_max, t_step) - % The function calculates a sinewave with a given frequency and - % amplitude. +\begin{lstlisting}[caption={Funktion zur Berechnung eines Sinus.}, label=sinefunctionlisting] +function [time, sine] = sinewave(frequency, amplitude, t_max, t_step) + % Calculate a sinewave of a given frequency, amplitude, duration and temporal resolution. + % [time, sine] = sinewave(frequency, amplitude, t_max, t_step) % Arguments: frequency, the frequency of the sine % amplitude, the amplitude of the sine % t_max, the duration of the sine in seconds @@ -1305,27 +1320,30 @@ function [time, sine] = calculate_sinewave(frequency, amplitude, t_max, t_step) % sine, the calculated sinewave time = (0:t_step:t_max); sine = sin(frequency .* time .* 2 * pi) .* amplitude; +end \end{lstlisting} \paragraph{II. Plotten einer einzelnen Schwingung} -Diese Aufgabe kann auch von einer Funktion \"ubernommen werden. Diese -Funktion hat keine andere Aufgabe, als die Daten zu plotten. Ihr Name -sollte sich an dieser Aufgabe orientieren -(z.B. \code{plot\_sinewave()}). Um einen einzelnen Sinus zu plotten -werden im Wesentlichen die x-Werte und die zugeh\"origen y-Werte -ben\"otigt. Da mehrere Sinus geplottet werden sollen ist es auch -sinnvoll eine Zeichenkette f\"ur die Legende an die Funktion zu +Das Plotten der berechneten Sinuschwingung kann auch von einer +Funktion \"ubernommen werden. Diese Funktion hat keine andere Aufgabe, +als die Daten zu plotten. Ihr Name sollte sich an dieser Aufgabe +orientieren (z.B. \code{plot\_function()}). Um einen einzelnen Sinus +zu plotten werden im Wesentlichen die x-Werte und die zugeh\"origen +y-Werte ben\"otigt. Da mehrere Sinus geplottet werden sollen ist es +auch sinnvoll eine Zeichenkette f\"ur die Legende an die Funktion zu \"ubergeben. Da diese Funktion keine Berechnung durchf\"uhrt wird kein R\"uckgabewert ben\"otigt (Listing \ref{sineplotfunctionlisting}). -\begin{lstlisting}[caption={Funktion, die die Daten plottet.}, label=sineplotfunctionlisting] -function plot_sinewave(x_data, y_data, name) +\begin{lstlisting}[caption={Funktion zur graphischen Darstellung der Daten.}, label=sineplotfunctionlisting] +function plot_function(x_data, y_data, name) % Plots x-data against y-data and sets the display name. + % plot_sinewave(x_data, y_data, name) % Arguments: x_data, the x-data % y_data, the y-data % name, the displayname plot(x_data, y_data, 'displayname', name) +end \end{lstlisting} @@ -1342,19 +1360,19 @@ eine neue Abbildung und setzt das \code{hold on} da nur das Skript wei{\ss}, das mehr als ein Plot erzeugt werden soll. Das Skript ist in Listing \ref{sinesskriptlisting} dargestellt. -\begin{lstlisting}[caption={Kontrollskript, das die Berechnung und plotting koordiniert.}, label=sinesskriptlisting] +\begin{lstlisting}[caption={Kontrollskript zur Koordination von Berechnung und graphischer Darstellung.}, label=sinesskriptlisting] amplitudes = 0.25:0.25:1.25; -frequency = 2; -t_max = 10; +frequency = 2.0; +t_max = 10.0; t_step = 0.01; figure() hold on for i = 1:length(amplitudes) - [x_data, y_data] = calculate_sinewave(frequency, amplitudes(i), ... + [x_data, y_data] = sinewave(frequency, amplitudes(i), ... t_max, t_step); - plot_sinewave(x_data, y_data, sprintf('freq: %5.2f, ampl: %5.2f',... + plot_function(x_data, y_data, sprintf('freq: %5.2f, ampl: %5.2f',... frequency, amplitudes(i))) end legend('show') diff --git a/programmingstyle/lecture/programmingstyle.tex b/programmingstyle/lecture/programmingstyle.tex index e3714ac..44315f9 100644 --- a/programmingstyle/lecture/programmingstyle.tex +++ b/programmingstyle/lecture/programmingstyle.tex @@ -321,23 +321,25 @@ Code wird \codeterm{Spaghetticode} genannt. Es ist h\"ochste Zeit Das Auslagern von Funktionalit\"at in eigene Funktionen f\"uhrt dazu, dass eine F\"ulle von Dateien erzeugt wird, die die \"Ubersichtlichkeit nicht unbedingt erh\"oht. Wenn die auszulagernde -Funktionalit\"at an vielen Stellen ben\"otigt wird ist es dennoch -sinnvoll dies zu tun. Wenn nicht, dann bietet \matlab{} die -M\"oglichkeit sogenannte \codeterm[Funktion!lokale]{lokale Funktionen} -oder auch \codeterm[Funktion!geschachtelte|see{lokale}]{geschachtelte - Funktionen} (\enterm{nested functions}) zu erstellen. Listing -\ref{localfunctions} zeigt ein Beispiel f\"ur eine lokale Funktion. - -\lstinputlisting[label=localfunctions, caption={Lokale Funktionen - erh\"ohen die Lesbarkeit sind aber nur innerhalb der definierenden - Datei verf\"ugbar.}]{calculate_sines.m} +Funktionalit\"at an vielen Stellen ben\"otigt wird ist es dennoch sehr +sinnvoll dies zu tun. Wenn Funktionen nur von einzelnen anderen +Funktionen verwendet werden, dann bietet \matlab{} die M\"oglichkeit +sogenannte \codeterm[Funktion!lokale]{lokale Funktionen} oder auch +\codeterm[Funktion!geschachtelte]{geschachtelte Funktionen} +(\enterm{nested functions}) in einer einzelnen Datei zu +erstellen. Listing \ref{localfunctions} zeigt ein Beispiel f\"ur eine +lokale Funktion. + +\lstinputlisting[label=localfunctions, caption={Beispiel f\"ur den + Einsatz von lokalen Funktionen.}]{calculate_sines.m} Lokale Funktionen existieren in der gleichen Datei und sind nur dort verf\"ugbar. Jede Funktion hat ihren eigenen G\"ultigkeitsbereich, das hei{\ss}t, dass Variablen aus den aufrufenden Funktionen nicht -sichtbar sind. Bei sogenannten -\codeterm[Funktion!geschachtelte|see{lokale}]{geschachtelten - Funktionen} ist das anders. Diese werden innerhalb eines +sichtbar sind. + +Bei sogenannten \codeterm[Funktion!geschachtelte}]{geschachtelten +Funktionen} ist das anders. Diese werden innerhalb eines Funktionsk\"orpers (zwischen den Schl\"usselworten \code{function} und dem \code{end} definiert und k\"onnen auf alle Variablen der ``Mutterfunktion'' zugreifen und diese auch ver\"andern. Folglich @@ -407,7 +409,7 @@ diese sollten dann beachtet werden. Wiederholte Programmabschnitte sollten in Funktionen ausgelagert werden. Wenn diese nicht von globalem Interesse sind, kann mit \codeterm[Funktion!lokale]{lokalen} oder -\codeterm[Funktion!geschachtelte|see{lokale}]{geschachtelten +\codeterm[Funktion!geschachtelte]{geschachtelten Funktionen} die \"Ubersichtlichkeit erh\"oht werden. \noindent Es lohnt sich auf den eigenen Programmierstil zu diff --git a/regression/lecture/regression.tex b/regression/lecture/regression.tex index 2ff5a02..eaceaa0 100644 --- a/regression/lecture/regression.tex +++ b/regression/lecture/regression.tex @@ -300,7 +300,7 @@ partielle Ableitung nach $m$ durch \begin{figure}[t] \includegraphics[width=0.75\columnwidth]{error_gradient} - \titlecaption{Der Gradienten der Fehlerfl\"ache.} + \titlecaption{Gradient der Fehlerfl\"ache.} {Jeder Pfeil zeigt die Richtung und die Steigung f\"ur verschiedene Parameterkombination aus Steigung und $y$-Achsenabschnitt an. Die Kontourlinien im Hintergrund diff --git a/statistics/lecture/statistics.tex b/statistics/lecture/statistics.tex index a8456ab..f61a971 100644 --- a/statistics/lecture/statistics.tex +++ b/statistics/lecture/statistics.tex @@ -221,7 +221,7 @@ Standardabweichung $\sigma$. \begin{figure}[t] \includegraphics[width=1\textwidth]{pdfhistogram} - \titlecaption{\label{pdfhistogramfig} Histogramme mit verschiednenen + \titlecaption{\label{pdfhistogramfig} Histogramme mit verschiedenen Klassenbreiten von normalverteilten Messwerten.}{Links: Die H\"ohe des absoluten Histogramms h\"angt von der Klassenbreite ab. Rechts: Bei auf das Integral normierten Histogrammen werden @@ -287,7 +287,7 @@ nur unzureichend oder \"uberhaupt nicht erfasst (\figref{nonlincorrelationfig}). \begin{figure}[tp] \includegraphics[width=1\textwidth]{nonlincorrelation} - \titlecaption{\label{nonlincorrelationfig} Korrelationen von + \titlecaption{\label{nonlincorrelationfig} Korrelationen bei nichtlineare Zusammenh\"angen.}{Der Korrelationskoeffizienten erfasst nur lineare Zusammenh\"ange. Sowohl die quadratische Abh\"angigkeit (links) als auch eine Rauschkorrelation (rechts),