44 lines
932 B
Matlab
44 lines
932 B
Matlab
close all
|
|
files = dir('../unit*.mat');
|
|
for file = files'
|
|
a = load(strcat('../', file.name));
|
|
spikes = a.spikes;
|
|
angles = a.angles;
|
|
figure()
|
|
for k = 1:size(spikes, 1)
|
|
subplot(3, 4, k)
|
|
spikeraster(spikes(k,:), -0.2, 0.6);
|
|
end
|
|
end
|
|
|
|
|
|
%% tuning curves:
|
|
close all
|
|
cosine = @(p,xdata)0.5*p(1).*(1.0-cos(2.0*pi*(xdata/180.0-p(2))));
|
|
files = dir('../unit*.mat');
|
|
figure()
|
|
for j = 1:length(files)
|
|
file = files(j);
|
|
a = load(strcat('../', file.name));
|
|
spikes = a.spikes;
|
|
angles = a.angles;
|
|
rates = zeros(size(spikes, 1), 1);
|
|
for k = 1:size(spikes, 1)
|
|
r = firingrate(spikes(k,:), 0.0, 0.2);
|
|
rates(k) = r;
|
|
end
|
|
[mr, maxi] = max(rates);
|
|
p0 = [mr, angles(maxi)/180.0-0.5];
|
|
%p = p0;
|
|
p = lsqcurvefit(cosine, p0, angles, rates');
|
|
phase = p(2)*180.0
|
|
subplot(2, 3, j);
|
|
plot(angles, rates, 'b');
|
|
hold on;
|
|
plot(angles, cosine(p, angles), 'r');
|
|
hold off;
|
|
xlim([0.0 180.0])
|
|
ylim([0.0 50.0])
|
|
title(sprintf('unit %d', j))
|
|
end
|