44 lines
1.1 KiB
Matlab
44 lines
1.1 KiB
Matlab
clear
|
|
maps = {'CMS', 'MS'};
|
|
|
|
taus = zeros(length(dir('data/resistance/resistance*.mat')), 1);
|
|
cell_types = cell(size(taus));
|
|
count = 1;
|
|
size(taus)
|
|
for j = 1:length(maps)
|
|
files = dir(strcat('data/resistance/resistance_', maps{j}, '*.mat'));
|
|
for i = 1:length(files)
|
|
load(strcat('data/resistance/', files(i).name));
|
|
disp(files(i).name)
|
|
x = t(t>0.5 & t<15);
|
|
x = x - x(1);
|
|
y = V(t>0.5 & t<15);
|
|
y = y - y(end);
|
|
initial_params = [1, 2.5];
|
|
[params, errors] = gradientDescent(x, y, initial_params);
|
|
disp(count)
|
|
taus(count) = params(2);
|
|
cell_types{count} = maps{j};
|
|
count = count + 1;
|
|
plot_fit(x, y, errors, params);
|
|
end
|
|
end
|
|
|
|
|
|
function plot_fit(x, y, errors, parameter)
|
|
figure()
|
|
subplot(2,1,1)
|
|
hold on
|
|
scatter(x,y, 'displayname', 'data')
|
|
f_x = exponentialDecay(parameter, x);
|
|
plot(x, f_x, 'displayname', 'fit')
|
|
xlabel('Input')
|
|
ylabel('Output')
|
|
grid on
|
|
legend show
|
|
subplot(2,1,2)
|
|
plot(errors)
|
|
xlabel('optimization steps')
|
|
ylabel('error')
|
|
end
|