How can I create a modified curve fitting function?
Mostrar comentarios más antiguos
Hi,
i want to fit a recovery curve of my experiment to the following expression:
F(t)=k*exp(-D/2t)[I0(D/2t)+I1(D/2t)]
where I0 and I1 are the modified Bessel fundtions of the first kind of zero and first order. I want to determine D and k.
Is there any simple solution for this problem?
Thanks for helping
5 comentarios
John D'Errico
el 19 de Mzo. de 2017
Why do you need a "modified" curvefitting tool? Is there any reason why the many such tools already in existence will not work? Thus why not use nlinfit, lsqnonlin, lsqcurvefit, or the curvefitting toolbox itself? There are probably others I've just forgotten to add in that list. And, yes, you could use a tool like fminsearch too.
Christian
el 19 de Mzo. de 2017
Star Strider
el 19 de Mzo. de 2017
It is straightforward to write your own anonymous function to do that. See the section on ‘Anonymous Functions’ in the documentation on Function Basics. Then use the Statistics and Machine Learning Toolbox function nlinfit and its friends nlparci and nlpredci.
Christian
el 19 de Mzo. de 2017
Star Strider
el 19 de Mzo. de 2017
My pleasure.
If you have problems, post your code. We can help.
Respuestas (2)
John D'Errico
el 19 de Mzo. de 2017
Editada: John D'Errico
el 19 de Mzo. de 2017
Yes. Of course it is possible to do this. What toolbox do you have available? It sounds like the curve fitting TB is what you have. READ THE HELP. Look at the examples provided.
You said modified first kind Bessel, so you would use besseli. I'll get you started:
I0 = @(z) besseli(0,z);
I1 = @(z) besseli(1,z);
F = @(P,t) P(1)*exp(-P(2)/2*t).*(I0(P(2)/2*t)+I1(P(2)/2*t));
The curve fitting toolbox should be able to use this, as well as nlinfit and lsqcurvefit.
Note that I made the assumption that D/2t should be interpreted as (D/2)*t, NOT as D/(2*t).
3 comentarios
Christian
el 20 de Mzo. de 2017
Christian
el 20 de Mzo. de 2017
Sung YunSing
el 18 de Ag. de 2021
Hi just want to mention that if you were working at FRAP, maybe D/(2*t) is more conform to the origin FRAP equation.
Christian
el 20 de Mzo. de 2017
0 votos
Categorías
Más información sobre Calculus en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!