Setting your own start points for curve fitting

166 views (last 30 days)
I have a set of data which I am attempting to fit via a modified ("custom") two-exponential function: a*exp(b*(x-x0))+c*exp(d*(x-x0))+y0, where x0 and y0 are known. I know how to set upper and lower bounds for a,b,c,d, but how can I specify starting values (start points) for them?
Thanks in advance.
  3 Comments
Adam Danz
Adam Danz on 27 Jun 2018
Edited: Adam Danz on 27 Jun 2018
I see, what function are you using to do the fitting? For most of matlab's fitting functions, the 2nd input is "x0" which is a vector of values [1-by-n] for the n parameters of the function you're fitting. If the parameters in your function are [a,b,c,d] with an expected outcome of [100, 20, .5, -2], then that vector would be the input to 'x0'.
J.S.
J.S. on 27 Jun 2018
I am using my custom two-exponential with x and y offsets: a*exp(b*(x-x0))+c*exp(d*(x-x0))+y0, where x0 and y0 are known.

Sign in to comment.

Accepted Answer

Walter Roberson
Walter Roberson on 27 Jun 2018
If you are using fit() then use the InitialPoint option as shown in https://www.mathworks.com/help/curvefit/fit.html#bto2vuv-10

More Answers (0)

Products


Release

R2015b

Community Treasure Hunt

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

Start Hunting!