Merge branch 'master' of raven.am28.uni-tuebingen.de:scientificComputing
This commit is contained in:
commit
d9921cc9ae
BIN
programming/exercises/ampullary.mat
Normal file
BIN
programming/exercises/ampullary.mat
Normal file
Binary file not shown.
@ -131,20 +131,21 @@ T\"ubingen, Abt. Neuroethologie }}
|
||||
|
||||
\newpage
|
||||
\section{Boolesche Operationen}
|
||||
|
||||
\begin{enumerate}
|
||||
\item Gegeben sind \verb+x = (1:10)+ und
|
||||
\verb+y = [3 1 5 6 8 2 9 4 7 0]+. Try to understand the following
|
||||
commands.
|
||||
\begin{enumerate}
|
||||
\item \verb+x( (y <= 2) )+
|
||||
\item \verb+x( (x > 2) | (y < 8) )+
|
||||
\item \verb+x( (x == 0) \& (y == 0) )+
|
||||
\end{enumerate}
|
||||
\item Erzeuge eine 100x100 2-D Matrix mit Zufallswerten zwischen 0 und 100 (\verb+randi+). Ersetze \verb+x < 33+ mit 0, \verb+x >= 33 und x < 66+ mit 1 und alle \verb+x >= 66+ auf 2.
|
||||
\item Ermittle die Anzahl Elemente fuer jede Klasse mithilfe eines Booleschen Ausdrucks.
|
||||
\item Gegeben sind zwei Vektoren \verb+x = [1 5 2 8 9 0 1]+ und
|
||||
\verb+y = [5 2 2 6 0 0 2]+. F\"uhre aus und erkl\"are.
|
||||
\begin{enumerate}
|
||||
\item \verb+x > y+
|
||||
\item \verb+y < x+
|
||||
\item \verb+x == y+
|
||||
\item \verb+x ~= y+
|
||||
\item \verb+x & ~y+
|
||||
\item \verb+x | y+
|
||||
\end{enumerate}
|
||||
\end{enumerate}
|
||||
|
||||
|
||||
\newpage
|
||||
\section{Logische Indizierung}
|
||||
\begin{enumerate}
|
||||
\item Gegeben sind \verb+x = (1:10)+ und
|
||||
@ -153,12 +154,13 @@ T\"ubingen, Abt. Neuroethologie }}
|
||||
\begin{enumerate}
|
||||
\item \verb+x( (y <= 2) )+
|
||||
\item \verb+x( (x > 2) | (y < 8) )+
|
||||
\item \verb+x( (x == 0) \& (y == 0) )+
|
||||
\item \verb+x( (x == 0) & (y == 0) )+
|
||||
\end{enumerate}
|
||||
\item Erzeuge eine 100x100 2-D Matrix mit Zufallswerten zwischen 0 und 100 (\verb+randi+). Ersetze \verb+x < 33+ mit 0, \verb+x >= 33 und x < 66+ mit 1 und alle \verb+x >= 66+ auf 2.
|
||||
\item Ermittle die Anzahl Elemente fuer jede Klasse mithilfe eines Booleschen Ausdrucks.
|
||||
\end{enumerate}
|
||||
|
||||
|
||||
\newpage
|
||||
\section{Kontrollstrukturen}
|
||||
|
||||
|
16
programming/exercises/psths.m
Normal file
16
programming/exercises/psths.m
Normal file
@ -0,0 +1,16 @@
|
||||
load('ampullary.mat')
|
||||
fig = figure();
|
||||
|
||||
%% create PSTH on the basis of the interspike intervals
|
||||
fig.sub
|
||||
% 1. get the interspike intervals for each trial
|
||||
for i = 1:size(times,2)
|
||||
isi = diff(times{i});
|
||||
|
||||
end
|
||||
|
||||
%% create PSTH using the binning method
|
||||
|
||||
|
||||
|
||||
%% create PSTH using the kernel-convolution method
|
@ -201,9 +201,8 @@
|
||||
\textbf{P}eri- \textbf{S}timulus - \textbf{T}ime - \textbf{H}istogram
|
||||
\begin{figure}
|
||||
\centering
|
||||
%\includegraphics[width=0.375\columnwidth]{images/rasterplot}
|
||||
\includegraphics[width=0.75\columnwidth]{images/psth}
|
||||
\end{figure}
|
||||
Wof\"ur eignet sich ein solcher Rasterplot (auch \textit{dotdisplay} genannt)?
|
||||
\end{frame}
|
||||
|
||||
|
||||
|
@ -855,7 +855,7 @@ Alternativ zum ``subscript indexing'' koennen die Elemente von Matrizen auch lin
|
||||
\begin{enumerate}
|
||||
\item \verb+x( (y <= 2) )+
|
||||
\item \verb+x( (x > 2) | (y < 8) )+
|
||||
\item \verb+x( (x == 0) \& (y == 0) )+
|
||||
\item \verb+x( (x == 0) & (y == 0) )+
|
||||
\end{enumerate}
|
||||
\item Erzeuge eine 100x100 2-D Matrix mit Zufallswerten zwischen 0 und 100 (\verb+randi+). Ersetze \verb+x < 33+ mit 0, \verb+x >= 33 und x < 66+ mit 1 und alle \verb+x >= 66+ auf 2.
|
||||
\item Ermittle die Anzahl Elemente fuer jede Klasse mithilfe eines Booleschen Ausdrucks.
|
||||
|
@ -140,7 +140,7 @@
|
||||
\end{itemize}\pause
|
||||
Wenn es zum Leben erweckt wird...
|
||||
\begin{itemize}
|
||||
\item ... wird es Zeile fuer Zeile von oben nach unten ausgef\"urht.
|
||||
\item ... wird es Zeile fuer Zeile von oben nach unten ausgef\"uhrt.
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
@ -155,9 +155,9 @@
|
||||
\item Objekte (werden wir ignorieren)
|
||||
\end{enumerate}\pause
|
||||
\item Alle werden in sogenannte m-files gespeichert (z.B. \textit{meinProgramm.m}).
|
||||
\item Koennen dann von der Kommandozeile aufgerufen werden.
|
||||
\item Programme erhoehen die Wiederverwertbarkeit von Programmcode.
|
||||
\item Programme koennen andere Programme aufrufen.
|
||||
\item K\"onnen dann von der Kommandozeile aufgerufen werden.
|
||||
\item Programme erh\"ohen die Wiederverwertbarkeit von Programmcode.
|
||||
\item Programme k\"onnen andere Programme aufrufen.
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
@ -313,6 +313,7 @@ function y = plot_sinus(frequenz, amplitude)
|
||||
\end{enumerate}
|
||||
\end{frame}
|
||||
|
||||
|
||||
\begin{frame}[fragile]
|
||||
\frametitle{Programmierstil}
|
||||
Ihr d\"urft all das missachten und einen eingenen Stil entwickeln. Aber:\\
|
||||
@ -327,26 +328,6 @@ function y = plot_sinus(frequenz, amplitude)
|
||||
\end{frame}
|
||||
|
||||
|
||||
\begin{frame}[fragile]
|
||||
\frametitle{Funktionen}
|
||||
\frametitle{\"Ubungen}
|
||||
\begin{enumerate}
|
||||
\item Schreibe eine Funktion \verb+plotSineWave+ die die amplitude
|
||||
des Sinus als Argument entgegennimmt.
|
||||
\item Erweitere die Funktion in der Weise, dass sie zus\"atzlich die
|
||||
gew\"uenschte Frequnez \"ubernimmt.
|
||||
\item Erweitere \verb+plotSineWave+ so, dass sie eine Schar von
|
||||
Sinuswellen unterschiedlicher Frequenz plottet.
|
||||
\item Erweitere \verb+plotSinWave+ so, dass auch die Amplitude als
|
||||
Vektor \"ubergeben werden kann. Die Funktion soll alle m\"oglichen
|
||||
Kombinationen darstellen.
|
||||
\item Erweitere \verb+plotSinWave+ so, dass die berechnete Sinus in einer 2-D Matrize zurckgegeben werden.
|
||||
\item F\"uge zwei weitere R\"uckgabeparameter hinzu, die f\"ur jede
|
||||
Berechnung die Amplitude und Frequenz zur\"uckgeben.
|
||||
\end{enumerate}
|
||||
\end{frame}
|
||||
|
||||
|
||||
\begin{frame}[plain]
|
||||
\huge{4. Vom Problem zum Algorithmus zum Programm}\\
|
||||
\begin{figure}
|
||||
@ -355,11 +336,12 @@ function y = plot_sinus(frequenz, amplitude)
|
||||
\end{figure}
|
||||
\end{frame}
|
||||
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Vom Problem zum Algorithmus}
|
||||
\framesubtitle{Uff, schwierig...}
|
||||
\begin{enumerate}
|
||||
\item Am besten f\"angt man mit einem wei\{ss}en Blatt an. :-) \pause
|
||||
\item Am besten f\"angt man mit einem weissen Blatt an. :-) \pause
|
||||
\item Begr\"abt alle Angst vor Fehlern. \pause
|
||||
\item Macht sich klar, was das die Ausgangsituation ist.\pause
|
||||
\item Macht sich klar, was das Ziel ist.\pause
|
||||
@ -367,9 +349,30 @@ function y = plot_sinus(frequenz, amplitude)
|
||||
\end{enumerate}
|
||||
\end{frame}
|
||||
|
||||
|
||||
\begin{frame}[fragile]
|
||||
\frametitle{Vom Problem zum Algorithmus}
|
||||
\frametitle{\"Ubungen - Funktionen}
|
||||
\begin{enumerate}
|
||||
\item Schreibe eine Funktion \verb+plotSineWave+ die die Amplitude
|
||||
des Sinus als Argument entgegennimmt.
|
||||
\item Erweitere die Funktion in der Weise, dass sie zus\"atzlich die
|
||||
gew\"uenschte Frequenz \"ubernimmt.
|
||||
\item Erweitere \verb+plotSineWave+ so, dass sie eine Schar von
|
||||
Sinuswellen unterschiedlicher Frequenz plottet.
|
||||
\item Erweitere \verb+plotSinWave+ so, dass auch die Amplitude als
|
||||
Vektor \"ubergeben werden kann. Die Funktion soll alle m\"oglichen
|
||||
Kombinationen darstellen.
|
||||
\item Erweitere \verb+plotSinWave+ so, dass die berechnete Sinus in einer 2-D Matrize zurckgegeben werden.
|
||||
\item F\"uge zwei weitere R\"uckgabeparameter hinzu, die f\"ur jede
|
||||
Berechnung die Amplitude und Frequenz zur\"uckgeben.
|
||||
\end{enumerate}
|
||||
\end{frame}
|
||||
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Vom Problem zum Algorithmus}
|
||||
\framesubtitle{Uff, schwierig...}
|
||||
\framesubtitle{\"Ubungen - eine Herausforderung}
|
||||
Wie w\"are es mit folgendem Problem:\\
|
||||
Ich habe die Aufnahme des Membranpotentials einer Nervenzelle...
|
||||
\begin{enumerate}
|
||||
|
Reference in New Issue
Block a user