Setting your own start points for curve fitting

121 次查看(过去 30 天)
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 个评论
Adam Danz
Adam Danz 2018-6-27
编辑:Adam Danz 2018-6-27
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. 2018-6-27
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.

请先登录,再进行评论。

采纳的回答

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

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Get Started with Curve Fitting Toolbox 的更多信息

产品


版本

R2015b

Community Treasure Hunt

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

Start Hunting!

Translated by