Help with a fit

5 Ansichten (letzte 30 Tage)
aurc89
aurc89 am 21 Mär. 2014
Kommentiert: aurc89 am 21 Mär. 2014
Hello! I have a set of data (x,y) which describes a function y=f(x). I would like to fit this function with a biexponential function made like this : f(x) = a*exp(-x/b)+c*exp(-x/d)+e and retrieve the values of a,b,c,d,e. Can you help me to do this? Thank you!

Akzeptierte Antwort

Mischa Kim
Mischa Kim am 21 Mär. 2014
Bearbeitet: Mischa Kim am 21 Mär. 2014
Aurc89, does this help?
a = 1; b = 1; c = 1; d = 1; e = 1;
x = (0:0.1:2)';
y = a*exp(-x/b)+c*exp(-x/d)+e + 0.1*rand(length(x),1);
f = fit(x,y,'exp2');
plot(f,x,y)
The fitting coefficients are accessed, e.g., via
f.a
  8 Kommentare
Mischa Kim
Mischa Kim am 21 Mär. 2014
Bearbeitet: Mischa Kim am 21 Mär. 2014
Aurc89: You're welcome.
John: I was not trying to generate random noise, thanks for the polite pointer, though.
aurc89
aurc89 am 21 Mär. 2014
Sorry, the last question: this kind of command gives me the fit with the function f(x) = a*exp(b*x) + c*exp(d*x). Instead, I woud like to have a fit with this kind of function: f(x) = a*exp(b*x) + c*exp(d*x) + g. I need the constant term g also, because the time constants of the biexponential changes with g (because I am differently close to zero axis by changing 'g', so b and d are different). Is there an authomatic way to do this? Thank you very much in advance

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Get Started with Curve Fitting Toolbox finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by