How can I create a modified curve fitting function?

1 Ansicht (letzte 30 Tage)
Christian
Christian am 19 Mär. 2017
Kommentiert: Sung YunSing am 18 Aug. 2021
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 Kommentare
Christian
Christian am 19 Mär. 2017
Okay, thank you. I'll try that.
Star Strider
Star Strider am 19 Mär. 2017
My pleasure.
If you have problems, post your code. We can help.

Melden Sie sich an, um zu kommentieren.

Antworten (2)

John D'Errico
John D'Errico am 19 Mär. 2017
Bearbeitet: John D'Errico am 19 Mär. 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 Kommentare
Christian
Christian am 20 Mär. 2017
I think the fitting function is okay. Maybe the results are so confusing because the upper and lower limits of the Parameters are not defined correctly?
Sung YunSing
Sung YunSing am 18 Aug. 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.

Melden Sie sich an, um zu kommentieren.


Christian
Christian am 20 Mär. 2017
I've tried this now.

Community Treasure Hunt

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

Start Hunting!

Translated by