Improved page breaks
This commit is contained in:
parent
5b2aaad235
commit
a125bca9ac
1
Makefile
1
Makefile
@ -10,6 +10,7 @@ chapters :
|
|||||||
|
|
||||||
$(BASENAME).pdf : $(BASENAME).tex header.tex $(SUBTEXS)
|
$(BASENAME).pdf : $(BASENAME).tex header.tex $(SUBTEXS)
|
||||||
pdflatex -interaction=scrollmode $< | tee /dev/stderr | fgrep -q "Rerun to get cross-references right" && pdflatex -interaction=scrollmode $< || true
|
pdflatex -interaction=scrollmode $< | tee /dev/stderr | fgrep -q "Rerun to get cross-references right" && pdflatex -interaction=scrollmode $< || true
|
||||||
|
splitindex $(BASENAME).idx
|
||||||
|
|
||||||
again :
|
again :
|
||||||
pdflatex $(BASENAME).tex
|
pdflatex $(BASENAME).tex
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
\lstset{inputpath=../code}
|
\lstset{inputpath=../code}
|
||||||
\graphicspath{{figures/}}
|
\graphicspath{{figures/}}
|
||||||
|
|
||||||
\setcounter{page}{81}
|
\setcounter{page}{69}
|
||||||
\setcounter{chapter}{4}
|
\setcounter{chapter}{4}
|
||||||
|
|
||||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
@ -116,6 +116,7 @@ eine ganze Verteilung von Mittelwerten generieren
|
|||||||
(\figref{bootstrapsemfig}). Die Standardabweichung dieser Verteilung
|
(\figref{bootstrapsemfig}). Die Standardabweichung dieser Verteilung
|
||||||
ist dann der gesuchte Standardfehler des Mittelwerts.
|
ist dann der gesuchte Standardfehler des Mittelwerts.
|
||||||
|
|
||||||
|
\pagebreak[4]
|
||||||
\begin{exercise}{bootstrapsem.m}{bootstrapsem.out}
|
\begin{exercise}{bootstrapsem.m}{bootstrapsem.out}
|
||||||
Erzeuge die Verteilung der Mittelwerte einer Stichprobe durch Bottstrapping,
|
Erzeuge die Verteilung der Mittelwerte einer Stichprobe durch Bottstrapping,
|
||||||
um daraus den Standardfehler des Mittelwerts zu bestimmen.
|
um daraus den Standardfehler des Mittelwerts zu bestimmen.
|
||||||
|
@ -2,7 +2,7 @@ import numpy as np
|
|||||||
import matplotlib.pyplot as plt
|
import matplotlib.pyplot as plt
|
||||||
|
|
||||||
plt.xkcd()
|
plt.xkcd()
|
||||||
fig = plt.figure( figsize=(6,4) )
|
fig = plt.figure( figsize=(6,3.5) )
|
||||||
rng = np.random.RandomState(637281)
|
rng = np.random.RandomState(637281)
|
||||||
|
|
||||||
nsamples = 100
|
nsamples = 100
|
||||||
|
@ -2,7 +2,7 @@ import numpy as np
|
|||||||
import matplotlib.pyplot as plt
|
import matplotlib.pyplot as plt
|
||||||
|
|
||||||
plt.xkcd()
|
plt.xkcd()
|
||||||
fig = plt.figure( figsize=(6,4) )
|
fig = plt.figure( figsize=(6,3.5) )
|
||||||
rng = np.random.RandomState(637281)
|
rng = np.random.RandomState(637281)
|
||||||
|
|
||||||
# generate correlated data:
|
# generate correlated data:
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
\lstset{inputpath=../code}
|
\lstset{inputpath=../code}
|
||||||
\graphicspath{{figures/}}
|
\graphicspath{{figures/}}
|
||||||
|
|
||||||
\setcounter{page}{133}
|
\setcounter{page}{121}
|
||||||
\setcounter{chapter}{8}
|
\setcounter{chapter}{8}
|
||||||
|
|
||||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
@ -75,7 +75,6 @@ Zufallsgeneratoren geben oft nur Zufallszahlen mit festen Mittelwerten
|
|||||||
und Standardabweichungen (auch Skalierungen) zur\"uck. Multiplikation
|
und Standardabweichungen (auch Skalierungen) zur\"uck. Multiplikation
|
||||||
mit einem Faktor skaliert die Standardabweichung und Addition einer Zahl
|
mit einem Faktor skaliert die Standardabweichung und Addition einer Zahl
|
||||||
verschiebt den Mittelwert.
|
verschiebt den Mittelwert.
|
||||||
|
|
||||||
\begin{lstlisting}[caption={Skalierung von Zufallszahlen}]
|
\begin{lstlisting}[caption={Skalierung von Zufallszahlen}]
|
||||||
% 100 random numbers draw from a Gaussian distribution with mean 0 and standard deviation 1.
|
% 100 random numbers draw from a Gaussian distribution with mean 0 and standard deviation 1.
|
||||||
x = randn(100, 1);
|
x = randn(100, 1);
|
||||||
@ -85,7 +84,6 @@ mu = 4.8;
|
|||||||
sigma = 2.3;
|
sigma = 2.3;
|
||||||
y = randn(100, 1)*sigma + mu;
|
y = randn(100, 1)*sigma + mu;
|
||||||
\end{lstlisting}
|
\end{lstlisting}
|
||||||
|
|
||||||
Das gleiche Prinzip ist manchmal auch sinnvoll f\"ur \code{zeros()} oder \code{ones()}:
|
Das gleiche Prinzip ist manchmal auch sinnvoll f\"ur \code{zeros()} oder \code{ones()}:
|
||||||
\begin{lstlisting}[caption={Skalierung von \varcode{zeros()} und \varcode{ones()}}]
|
\begin{lstlisting}[caption={Skalierung von \varcode{zeros()} und \varcode{ones()}}]
|
||||||
x = -1:0.01:2; % Vektor mit x-Werten
|
x = -1:0.01:2; % Vektor mit x-Werten
|
||||||
@ -146,12 +144,10 @@ Die \code{histogram()} Funktion macht das mit den entsprechenden Parametern auto
|
|||||||
x = randn(100, 1); % irgendwelche reellwertige Daten
|
x = randn(100, 1); % irgendwelche reellwertige Daten
|
||||||
histogram(x, 'Normalization', 'pdf');
|
histogram(x, 'Normalization', 'pdf');
|
||||||
\end{lstlisting}
|
\end{lstlisting}
|
||||||
|
|
||||||
\begin{lstlisting}[caption={Probability mit der \varcode{histogram()}-Funktion}]
|
\begin{lstlisting}[caption={Probability mit der \varcode{histogram()}-Funktion}]
|
||||||
x = randi(6, 100, 1); % irgendwelche integer Daten
|
x = randi(6, 100, 1); % irgendwelche integer Daten
|
||||||
histogram(x, 'Normalization', 'probability');
|
histogram(x, 'Normalization', 'probability');
|
||||||
\end{lstlisting}
|
\end{lstlisting}
|
||||||
|
|
||||||
So geht es mit der \code{hist()}-Funktion:
|
So geht es mit der \code{hist()}-Funktion:
|
||||||
\begin{lstlisting}[caption={Probability-density-function mit der \varcode{hist()}- und \varcode{bar()}-Funktion}]
|
\begin{lstlisting}[caption={Probability-density-function mit der \varcode{hist()}- und \varcode{bar()}-Funktion}]
|
||||||
x = randn(100, 1); % irgendwelche reellwertige Daten
|
x = randn(100, 1); % irgendwelche reellwertige Daten
|
||||||
@ -159,7 +155,6 @@ x = randn(100, 1); % irgendwelche reellwertige Daten
|
|||||||
h = h/sum(h)/(b(2)-b(1)); % normieren zu einer Wahrscheinlichkeitsdichte
|
h = h/sum(h)/(b(2)-b(1)); % normieren zu einer Wahrscheinlichkeitsdichte
|
||||||
bar(b, h); % und plotten.
|
bar(b, h); % und plotten.
|
||||||
\end{lstlisting}
|
\end{lstlisting}
|
||||||
|
|
||||||
\begin{lstlisting}[caption={Probability mit der \varcode{hist()}- und \varcode{bar()}-Funktion}]
|
\begin{lstlisting}[caption={Probability mit der \varcode{hist()}- und \varcode{bar()}-Funktion}]
|
||||||
x = randi(6, 100, 1); % irgendwelche integer Daten
|
x = randi(6, 100, 1); % irgendwelche integer Daten
|
||||||
[h, b] = hist(x); % Histogram berechnen
|
[h, b] = hist(x); % Histogram berechnen
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
\lstset{inputpath=../code}
|
\lstset{inputpath=../code}
|
||||||
\graphicspath{{figures/}}
|
\graphicspath{{figures/}}
|
||||||
|
|
||||||
\setcounter{page}{101}
|
\setcounter{page}{89}
|
||||||
\setcounter{chapter}{6}
|
\setcounter{chapter}{6}
|
||||||
|
|
||||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
@ -118,10 +118,11 @@ diesem Mittelwert gezogen worden sind (\figref{mlemeanfig}).
|
|||||||
Wahrscheinlichkeiten) f\"ur den Mittelwert als Parameter. Vergleiche
|
Wahrscheinlichkeiten) f\"ur den Mittelwert als Parameter. Vergleiche
|
||||||
die Position der Maxima mit dem aus den Daten berechneten
|
die Position der Maxima mit dem aus den Daten berechneten
|
||||||
Mittelwert.
|
Mittelwert.
|
||||||
\newpage
|
\pagebreak[4]
|
||||||
\end{exercise}
|
\end{exercise}
|
||||||
|
|
||||||
|
|
||||||
|
\pagebreak[4]
|
||||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
\section{Kurvenfit als Maximum-Likelihood Sch\"atzung}
|
\section{Kurvenfit als Maximum-Likelihood Sch\"atzung}
|
||||||
Beim \determ{Kurvenfit} soll eine Funktion $f(x;\theta)$ mit den Parametern
|
Beim \determ{Kurvenfit} soll eine Funktion $f(x;\theta)$ mit den Parametern
|
||||||
@ -251,7 +252,7 @@ z.B. dem Gradientenabstieg, gel\"ost wird \matlabfun{mle()}.
|
|||||||
\begin{exercise}{mlegammafit.m}{mlegammafit.out}
|
\begin{exercise}{mlegammafit.m}{mlegammafit.out}
|
||||||
Erzeuge Gammaverteilte Zufallszahlen und benutze Maximum-Likelihood,
|
Erzeuge Gammaverteilte Zufallszahlen und benutze Maximum-Likelihood,
|
||||||
um die Parameter der Gammafunktion aus den Daten zu bestimmen.
|
um die Parameter der Gammafunktion aus den Daten zu bestimmen.
|
||||||
\newpage
|
\pagebreak
|
||||||
\end{exercise}
|
\end{exercise}
|
||||||
|
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@ import numpy as np
|
|||||||
import matplotlib.pyplot as plt
|
import matplotlib.pyplot as plt
|
||||||
|
|
||||||
plt.xkcd()
|
plt.xkcd()
|
||||||
fig = plt.figure( figsize=(6,4) )
|
fig = plt.figure( figsize=(6,3.5) )
|
||||||
|
|
||||||
# the line:
|
# the line:
|
||||||
slope = 2.0
|
slope = 2.0
|
||||||
|
@ -1,19 +1,24 @@
|
|||||||
function [time, rate] = binned_rate(spike_times, bin_width, dt, t_max)
|
function [time, rate] = binned_rate(spikes, bin_width, dt, t_max)
|
||||||
% Calculates the firing rate with the binning method. The hist funciton is
|
% PSTH computed with binning method.
|
||||||
% used to count the number of spikes in each bin.
|
% The hist funciton is used to count the number of spikes in each bin.
|
||||||
|
%
|
||||||
|
% [time, rate] = binned_rate(spikes, bin_width, dt, t_max)
|
||||||
|
%
|
||||||
% Arguments:
|
% Arguments:
|
||||||
% spike_times, vector containing the times of the spikes.
|
% spikes : vector containing the times of the spikes.
|
||||||
% bin_width, the width of the bins in seconds.
|
% bin_width: the width of the bins in seconds.
|
||||||
% dt, the temporal resolution.
|
% dt : the temporal resolution.
|
||||||
% t_max, the tiral duration.
|
% t_max : the tiral duration.
|
||||||
%
|
%
|
||||||
% Returns two vectors containing the time and the rate.
|
% Returns:
|
||||||
|
% two vectors containing the time and the rate.
|
||||||
|
|
||||||
time = 0:dt:t_max-dt;
|
time = 0:dt:t_max-dt;
|
||||||
bins = 0:bin_width:t_max;
|
bins = 0:bin_width:t_max;
|
||||||
rate = zeros(size(time));
|
rate = zeros(size(time));
|
||||||
|
h = hist(spikes, bins) ./ bin_width;
|
||||||
h = hist(spike_times, bins) ./ bin_width;
|
|
||||||
for i = 2:length(bins)
|
for i = 2:length(bins)
|
||||||
rate(round(bins(i - 1) / dt) + 1:round(bins(i) / dt)) = h(i);
|
rate(round(bins(i - 1) / dt) + 1:round(bins(i) / dt)) = h(i);
|
||||||
end
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
@ -1,16 +1,20 @@
|
|||||||
function [time, rate] = convolution_rate(spike_times, sigma, dt, t_max)
|
function [time, rate] = convolution_rate(spikes, sigma, dt, t_max)
|
||||||
% Calculates the firing rate with the convolution method.
|
% PSTH computed with convolution method.
|
||||||
|
%
|
||||||
|
% [time, rate] = convolution_rate(spikes, sigma, dt, t_max)
|
||||||
|
%
|
||||||
% Arguments:
|
% Arguments:
|
||||||
% spike_times, a vector containing the spike times.
|
% spikes: a vector containing the spike times.
|
||||||
% sigma, the standard deviation of the Gaussian kernel in seconds.
|
% sigma : the standard deviation of the Gaussian kernel in seconds.
|
||||||
% dt, the temporal resolution in seconds.
|
% dt : the temporal resolution in seconds.
|
||||||
% t_max, the trial duration in seconds.
|
% t_max : the trial duration in seconds.
|
||||||
%
|
%
|
||||||
% Returns two vectors containing the time and the rate.
|
% Returns:
|
||||||
|
two vectors containing the time and the rate.
|
||||||
|
|
||||||
time = 0:dt:t_max - dt;
|
time = 0:dt:t_max - dt;
|
||||||
rate = zeros(size(time));
|
rate = zeros(size(time));
|
||||||
spike_indices = round(spike_times / dt);
|
spike_indices = round(spikes / dt);
|
||||||
rate(spike_indices) = 1;
|
rate(spike_indices) = 1;
|
||||||
kernel = gauss_kernel(sigma, dt);
|
kernel = gauss_kernel(sigma, dt);
|
||||||
|
|
||||||
|
@ -1,22 +1,24 @@
|
|||||||
function [time, rate] = instantaneous_rate(spike_times, dt, t_max)
|
function [time, rate] = instantaneous_rate(spikes, dt, t_max)
|
||||||
% Function calculates the firing rate as the inverse of the interspike
|
% Firing rate as the inverse of the interspike interval.
|
||||||
% interval.
|
%
|
||||||
|
% [time, rate] = instantaneous_rate(spikes, dt, t_max)
|
||||||
|
%
|
||||||
% Arguments:
|
% Arguments:
|
||||||
% spike_times, vector containing the times of the spikes.
|
% spikes: vector containing the times of the spikes.
|
||||||
% dt, the temporal resolutions of the recording.
|
% dt : the temporal resolutions of the recording.
|
||||||
% t_max, the duration of the trial.
|
% t_max : the duration of the trial.
|
||||||
%
|
%
|
||||||
% Returns the vector representing time and a vector containing the rate.
|
% Returns:
|
||||||
|
% the vector representing time and a vector containing the rate.
|
||||||
|
|
||||||
time = 0:dt:t_max-dt;
|
time = 0:dt:t_max-dt;
|
||||||
rate = zeros(size(time));
|
rate = zeros(size(time));
|
||||||
|
|
||||||
isis = diff([0 spike_times]);
|
isis = diff([0 spikes]);
|
||||||
inst_rate = 1 ./ isis;
|
inst_rate = 1 ./ isis;
|
||||||
spike_indices = [1 round(spike_times ./ dt)];
|
spike_indices = [1 round(spikes ./ dt)];
|
||||||
|
|
||||||
for i = 2:length(spike_indices)
|
for i = 2:length(spike_indices)
|
||||||
rate(spike_indices(i - 1):spike_indices(i)) = inst_rate(i - 1);
|
rate(spike_indices(i - 1):spike_indices(i)) = inst_rate(i - 1);
|
||||||
end
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
function [pdf, centers] = isi_hist(isis, binwidth)
|
function [pdf, centers] = isiHist(isis, binwidth)
|
||||||
% Compute normalized histogram of interspike intervals.
|
% Compute normalized histogram of interspike intervals.
|
||||||
%
|
%
|
||||||
% [pdf, centers] = isi_hist(isis, binwidth)
|
% [pdf, centers] = isiHist(isis, binwidth)
|
||||||
%
|
%
|
||||||
% Arguments:
|
% Arguments:
|
||||||
% isis: vector of interspike intervals in seconds
|
% isis: vector of interspike intervals in seconds
|
@ -2,7 +2,12 @@ function isivec = isis( spikes )
|
|||||||
% returns a single list of isis computed from all trials in spikes
|
% returns a single list of isis computed from all trials in spikes
|
||||||
%
|
%
|
||||||
% isivec = isis( spikes )
|
% isivec = isis( spikes )
|
||||||
|
%
|
||||||
|
% Arguments:
|
||||||
% spikes: a cell array of vectors of spike times in seconds
|
% spikes: a cell array of vectors of spike times in seconds
|
||||||
|
% isivec: a column vector with all the interspike intervalls
|
||||||
|
%
|
||||||
|
% Returns:
|
||||||
% isivec: a column vector with all the interspike intervalls
|
% isivec: a column vector with all the interspike intervalls
|
||||||
|
|
||||||
isivec = [];
|
isivec = [];
|
||||||
@ -13,4 +18,3 @@ function isivec = isis( spikes )
|
|||||||
isivec = [ isivec; difftimes(:) ];
|
isivec = [ isivec; difftimes(:) ];
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
function plot_isi_hist(isis, binwidth)
|
function plotISIHist(isis, binwidth)
|
||||||
% Plot and annotate histogram of interspike intervals.
|
% Plot and annotate histogram of interspike intervals.
|
||||||
%
|
%
|
||||||
% isihist(isis, binwidth)
|
% plotISIHist(isis, binwidth)
|
||||||
%
|
%
|
||||||
% Arguments:
|
% Arguments:
|
||||||
% isis: vector of interspike intervals in seconds
|
% isis: vector of interspike intervals in seconds
|
||||||
@ -9,9 +9,9 @@ function plot_isi_hist(isis, binwidth)
|
|||||||
|
|
||||||
% compute normalized histogram:
|
% compute normalized histogram:
|
||||||
if nargin < 2
|
if nargin < 2
|
||||||
[pdf, centers] = isi_hist(isis);
|
[pdf, centers] = isiHist(isis);
|
||||||
else
|
else
|
||||||
[pdf, centers] = isi_hist(isis, binwidth);
|
[pdf, centers] = isiHist(isis, binwidth);
|
||||||
end
|
end
|
||||||
|
|
||||||
% plot:
|
% plot:
|
@ -1,19 +1,19 @@
|
|||||||
function s_est = reconstructStimulus(spike_times, sta, stim_duration, dt)
|
function s_est = reconstructStimulus(spikes, sta, duration, deltat)
|
||||||
% Function estimates the stimulus from the Spike-Triggered-Average
|
% Estimate the stimulus from the spike-triggered-average (STA).
|
||||||
% (sta).
|
%
|
||||||
|
% s_est = reconstructStimulus(spikes, sta, duration, deltat)
|
||||||
|
%
|
||||||
% Arguments:
|
% Arguments:
|
||||||
% spike_times, a vector containing the spike times in seconds.
|
% spikes : a vector containing the spike times in seconds.
|
||||||
% sta, a vector containing the spike-triggered-average.
|
% sta : a vector containing the spike-triggered-average.
|
||||||
% stim_duration, the total duration of the stimulus.
|
% duration: the total duration of the stimulus.
|
||||||
% dt, the sampling interval given in seconds.
|
% deltat : the time step of the stimulus in seconds.
|
||||||
%
|
%
|
||||||
% Returns:
|
% Returns:
|
||||||
% the estimated stimulus.
|
% s_est: vector with the estimated stimulus.
|
||||||
|
|
||||||
s_est = zeros(round(stim_duration / dt), 1);
|
|
||||||
|
|
||||||
|
s_est = zeros(round(duration / deltat), 1);
|
||||||
binary_spikes = zeros(size(s_est));
|
binary_spikes = zeros(size(s_est));
|
||||||
binary_spikes(round(spike_times ./ dt)) = 1;
|
binary_spikes(round(spikes ./ deltat)) = 1;
|
||||||
|
|
||||||
s_est = conv(binary_spikes, sta, 'same');
|
s_est = conv(binary_spikes, sta, 'same');
|
||||||
|
end
|
||||||
|
@ -1,32 +1,31 @@
|
|||||||
function [sta, std_sta, valid_spikes] = spikeTriggeredAverage(stimulus, spike_times, count, sampling_rate)
|
function [sta, std_sta, n_spikes] = spikeTriggeredAverage(stimulus, spikes, count, deltat)
|
||||||
% Function estimates the Spike-Triggered-Average (sta).
|
% Estimate the spike-triggered-average (STA).
|
||||||
|
%
|
||||||
|
% [sta, std_sta, n_spikes] = spikeTriggeredAverage(stimulus, spikes, count, deltat)
|
||||||
%
|
%
|
||||||
% Arguments:
|
% Arguments:
|
||||||
% stimulus, a vector containing stimulus intensities
|
% stimulus: vector of stimulus intensities as a function of time.
|
||||||
% as a function of time.
|
% spikes : vector with spike times in seconds.
|
||||||
% spike_times, a vector containing the spike times
|
% count : number of datapoints that are taken around the spike times.
|
||||||
% in seconds.
|
% deltat : the time step of the stimulus in seconds.
|
||||||
% count, the number of datapoints that are taken around
|
|
||||||
% the spike times.
|
|
||||||
% sampling_rate, the sampling rate of the stimulus.
|
|
||||||
%
|
%
|
||||||
% Returns:
|
% Returns:
|
||||||
% the sta, a vector containing the staandard deviation and
|
% sta : vector with the STA.
|
||||||
% the number of spikes taken into account.
|
% std_sta : standard deviation of the STA.
|
||||||
|
% n_spikes: number of spikes contained in STA.
|
||||||
|
|
||||||
snippets = zeros(numel(spike_times), 2*count);
|
snippets = zeros(numel(spikes), 2*count);
|
||||||
valid_spikes = 1;
|
n_spikes = 0;
|
||||||
for i = 1:numel(spike_times)
|
for i = 1:numel(spikes)
|
||||||
t = spike_times(i);
|
t = spikes(i);
|
||||||
index = round(t*sampling_rate);
|
index = round(t/deltat);
|
||||||
if index <= count || (index + count) > length(stimulus)
|
if index <= count || (index + count) > length(stimulus)
|
||||||
continue
|
continue
|
||||||
end
|
end
|
||||||
snippets(valid_spikes,:) = stimulus(index-count:index+count-1);
|
snippets(n_spikes,:) = stimulus(index-count:index+count-1);
|
||||||
valid_spikes = valid_spikes + 1;
|
n_spikes = n_spikes + 1;
|
||||||
end
|
end
|
||||||
|
snippets(n_spikes+1:end,:) = [];
|
||||||
snippets(valid_spikes:end,:) = [];
|
|
||||||
|
|
||||||
sta = mean(snippets, 1);
|
sta = mean(snippets, 1);
|
||||||
std_sta = std(snippets,[],1);
|
std_sta = std(snippets,[],1);
|
||||||
|
end
|
||||||
|
@ -86,7 +86,7 @@ heisen die Intervalle auch \determ{Interspikeintervalle}
|
|||||||
\"ublichen Gr\"o{\ss}en beschrieben werden.
|
\"ublichen Gr\"o{\ss}en beschrieben werden.
|
||||||
|
|
||||||
\begin{figure}[t]
|
\begin{figure}[t]
|
||||||
\includegraphics[width=1\textwidth]{isihexamples}\hfill
|
\includegraphics[width=0.96\textwidth]{isihexamples}\vspace{-2ex}
|
||||||
\titlecaption{\label{isihexamplesfig}Interspikeintervall Histogramme}{der in
|
\titlecaption{\label{isihexamplesfig}Interspikeintervall Histogramme}{der in
|
||||||
\figref{rasterexamplesfig} gezeigten Spikes.}
|
\figref{rasterexamplesfig} gezeigten Spikes.}
|
||||||
\end{figure}
|
\end{figure}
|
||||||
@ -113,15 +113,15 @@ heisen die Intervalle auch \determ{Interspikeintervalle}
|
|||||||
\frac{\sigma_{ISI}^2}{2\mu_{ISI}^3}$.
|
\frac{\sigma_{ISI}^2}{2\mu_{ISI}^3}$.
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
|
||||||
\begin{exercise}{isi_hist.m}{}
|
\begin{exercise}{isiHist.m}{}
|
||||||
Schreibe eine Funktion \code{isi\_hist()}, die einen Vektor mit Interspikeintervallen
|
Schreibe eine Funktion \code{isiHist()}, die einen Vektor mit Interspikeintervallen
|
||||||
entgegennimmt und daraus ein normiertes Histogramm der Interspikeintervalle
|
entgegennimmt und daraus ein normiertes Histogramm der Interspikeintervalle
|
||||||
berechnet.
|
berechnet.
|
||||||
\end{exercise}
|
\end{exercise}
|
||||||
|
|
||||||
\begin{exercise}{plot_isi_hist.m}{}
|
\begin{exercise}{plotISIHist.m}{}
|
||||||
Schreibe eine Funktion, die die Histogrammdaten der Funktion
|
Schreibe eine Funktion, die die Histogrammdaten der Funktion
|
||||||
\code{isi\_hist()} entgegennimmt, um das Histogramm zu plotten. Im
|
\code{isiHist()} entgegennimmt, um das Histogramm zu plotten. Im
|
||||||
Plot sollen die Interspikeintervalle in Millisekunden aufgetragen
|
Plot sollen die Interspikeintervalle in Millisekunden aufgetragen
|
||||||
werden. Das Histogramm soll zus\"atzlich mit Mittelwert,
|
werden. Das Histogramm soll zus\"atzlich mit Mittelwert,
|
||||||
Standardabweichung und Variationskoeffizient der
|
Standardabweichung und Variationskoeffizient der
|
||||||
@ -155,6 +155,7 @@ Intervalls mit sich selber).
|
|||||||
\begin{exercise}{isiserialcorr.m}{}
|
\begin{exercise}{isiserialcorr.m}{}
|
||||||
Schreibe eine Funktion \code{isiserialcorr()}, die einen Vektor mit Interspikeintervallen
|
Schreibe eine Funktion \code{isiserialcorr()}, die einen Vektor mit Interspikeintervallen
|
||||||
entgegennimmt und daraus die seriellen Korrelationen berechnet und plottet.
|
entgegennimmt und daraus die seriellen Korrelationen berechnet und plottet.
|
||||||
|
\pagebreak[4]
|
||||||
\end{exercise}
|
\end{exercise}
|
||||||
|
|
||||||
|
|
||||||
@ -395,6 +396,7 @@ vorkommen k\"onnen nicht aufgl\"ost werden. Mit der Wahl der Binweite
|
|||||||
wird somit eine Annahme \"uber die relevante Zeitskala des Spiketrains
|
wird somit eine Annahme \"uber die relevante Zeitskala des Spiketrains
|
||||||
gemacht.
|
gemacht.
|
||||||
|
|
||||||
|
\pagebreak[4]
|
||||||
\begin{exercise}{binnedRate.m}{}
|
\begin{exercise}{binnedRate.m}{}
|
||||||
Implementiere die Absch\"atzung der Feuerrate mit der ``binning''
|
Implementiere die Absch\"atzung der Feuerrate mit der ``binning''
|
||||||
Methode. Plotte das PSTH.
|
Methode. Plotte das PSTH.
|
||||||
@ -435,6 +437,7 @@ Binweite, die zeitliche Aufl\"osung von $r(t)$. Die Breite des Kerns
|
|||||||
macht also auch wieder eine Annahme \"uber die relevante Zeitskala des
|
macht also auch wieder eine Annahme \"uber die relevante Zeitskala des
|
||||||
Spiketrains.
|
Spiketrains.
|
||||||
|
|
||||||
|
\pagebreak[4]
|
||||||
\begin{exercise}{convolutionRate.m}{}
|
\begin{exercise}{convolutionRate.m}{}
|
||||||
Verwende die Faltungsmethode um die Feuerrate zu bestimmen. Plotte
|
Verwende die Faltungsmethode um die Feuerrate zu bestimmen. Plotte
|
||||||
das Ergebnis.
|
das Ergebnis.
|
||||||
@ -490,10 +493,13 @@ die Zellantwort mit dem STA verfaltet.
|
|||||||
Implementiere eine Funktion, die den STA ermittelt. Verwende dazu
|
Implementiere eine Funktion, die den STA ermittelt. Verwende dazu
|
||||||
den Datensatz \file{sta\_data.mat}. Die Funktion sollte folgende
|
den Datensatz \file{sta\_data.mat}. Die Funktion sollte folgende
|
||||||
R\"uckgabewerte haben:
|
R\"uckgabewerte haben:
|
||||||
|
\vspace{-1ex}
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
|
\setlength{\itemsep}{0ex}
|
||||||
\item den Spike-Triggered-Average.
|
\item den Spike-Triggered-Average.
|
||||||
\item die Standardabweichung der individuellen STAs.
|
\item die Standardabweichung der individuellen STAs.
|
||||||
\item die Anzahl Aktionspotentiale, die dem STA zugrunde liegen.
|
\item die Anzahl Aktionspotentiale, die zur Berechnung des STA verwendet wurden.
|
||||||
|
\vspace{-2ex}
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
\end{exercise}
|
\end{exercise}
|
||||||
|
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
\lstset{inputpath=../code}
|
\lstset{inputpath=../code}
|
||||||
\graphicspath{{figures/}}
|
\graphicspath{{figures/}}
|
||||||
|
|
||||||
\setcounter{page}{89}
|
\setcounter{page}{77}
|
||||||
\setcounter{chapter}{5}
|
\setcounter{chapter}{5}
|
||||||
|
|
||||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
@ -84,7 +84,8 @@ zus\"atzlich gro{\ss}e Abst\"ande st\"arker gewichtet.
|
|||||||
Schreibe eine Funktion \code{meanSquareError()}, die die mittlere
|
Schreibe eine Funktion \code{meanSquareError()}, die die mittlere
|
||||||
quadratische Abweichung zwischen einem Vektor mit den beobachteten
|
quadratische Abweichung zwischen einem Vektor mit den beobachteten
|
||||||
Werten $y$ und einem Vektor mit den entsprechenden Vorhersagen
|
Werten $y$ und einem Vektor mit den entsprechenden Vorhersagen
|
||||||
$y^{est}$ berechnet.\newpage
|
$y^{est}$ berechnet.
|
||||||
|
\pagebreak[4]
|
||||||
\end{exercise}
|
\end{exercise}
|
||||||
|
|
||||||
|
|
||||||
@ -315,6 +316,7 @@ partielle Ableitung nach $m$ durch
|
|||||||
Parametersatz $(m, b)$ der Geradengleichung als 2-elementigen Vektor
|
Parametersatz $(m, b)$ der Geradengleichung als 2-elementigen Vektor
|
||||||
sowie die $x$- und $y$-Werte der Messdaten als Argumente
|
sowie die $x$- und $y$-Werte der Messdaten als Argumente
|
||||||
entgegennimmt und den Gradienten an dieser Stelle zur\"uckgibt.
|
entgegennimmt und den Gradienten an dieser Stelle zur\"uckgibt.
|
||||||
|
\pagebreak[4]
|
||||||
\end{exercise}
|
\end{exercise}
|
||||||
|
|
||||||
\begin{exercise}{errorGradient.m}{}
|
\begin{exercise}{errorGradient.m}{}
|
||||||
@ -376,6 +378,7 @@ Punkte in Abbildung \ref{gradientdescentfig} gro{\ss}.
|
|||||||
Funktion der Optimierungsschritte zeigt.
|
Funktion der Optimierungsschritte zeigt.
|
||||||
\item Erstelle einen Plot, der den besten Fit in die Daten plottet.
|
\item Erstelle einen Plot, der den besten Fit in die Daten plottet.
|
||||||
\end{enumerate}
|
\end{enumerate}
|
||||||
|
\pagebreak
|
||||||
\end{exercise}
|
\end{exercise}
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user