Borrar filtros
Borrar filtros

Fitting of autocorrelation function

21 visualizaciones (últimos 30 días)
Philipp Steffen
Philipp Steffen el 5 de En. de 2012
Hi,
I am not an expert in curve fitting and stuck with a problem where I want to fit a function to a measured data set in order to extract parameters.
The data set contains values of the autocorrelation of diffusing fluorescent particles (G(tau), measured using a confocal microscope. Tau is the correlation time.
I would like to fit the data set using the following equation:
G(tau) = 1/x(1)*x(2)*((1+tau/x(3))^-1)*(1+tau/x(4)^2*x(3))^(-1/2)
in order to extract the parameters x(1), x(2), X(3) and x(4)
In theory I should be able to fit the data set using the Levenberg-Marquardt non-linear least-squares fit. I was so far experimenting with lsqcurvefit and fminsearch to solve the problem but could not get a reasonable fit. I am not sure whether I have a conceptual problem here or whether it is a problem with my implementation. I therefore would appreciate your help a lot!
I tried so far:
beta0=[];
beta = lsqcurvefit(@fcspddeb,[4.09E3, 0.3, 0.1,3],fcsdatatrimmed(:,1),fcsdatatrimmed(:,2));
where fcspddeb is:
function [ G ] = fcspddeb( x, tau )
G = 1/x(1)*x(2)*((1+tau/x(3)).^-1).*(1+tau/x(4)^2*x(3)).^(-1/2)
end
This gives me a completely wrong fit.
Thanks a lot for your help in advance,
Philipp
  2 comentarios
bym
bym el 6 de En. de 2012
please format your code. for functions returning one variable, the brackets are not necessary, but I don't think that is the problem. Can you post a small subset of fcsdatatrimmed ?
Philipp Steffen
Philipp Steffen el 10 de En. de 2012
sorry for the formatting issue. This was my 1st post in the answer section.
Here is a subset of fcsdatatrimmed:
2.80000000000000e-06 0.000247287500000137
3.00000000000000e-06 0.000222712500000055
3.20000000000000e-06 0.000247654999999902
3.60000000000000e-06 0.000216259999999968
4.00000000000000e-06 0.000242887500000011
4.40000000000000e-06 0.000258062499999934
4.80000000000000e-06 0.000293670000000024
5.20000000000000e-06 0.000224647500000064
5.60000000000000e-06 0.000252660000000127
6.00000000000000e-06 0.000239894999999990
6.40000000000000e-06 0.000236425000000207
7.20000000000000e-06 0.000248582500000039
8.00000000000000e-06 0.000201032500000142
8.80000000000000e-06 0.000219357500000017
9.60000000000000e-06 0.000208382499999882
1.04000000000000e-05 0.000200205000000064
1.12000000000000e-05 0.000211342499999878
1.20000000000000e-05 0.000223410000000035
1.28000000000000e-05 0.000188237499999966
1.44000000000000e-05 0.000197192499999943

Iniciar sesión para comentar.

Respuestas (0)

Categorías

Más información sobre Get Started with Curve Fitting Toolbox en Help Center y File Exchange.

Productos

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by