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

J.S.
J.S. 2018년 6월 27일
I actually meant syntax-wise. I know what values I would like to use as start points, but how can I implement them in my code?
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일

0 개 추천

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

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Interpolation에 대해 자세히 알아보기

제품

릴리스

R2015b

질문:

2018년 6월 27일

답변:

2018년 6월 27일

Community Treasure Hunt

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

Start Hunting!

Translated by