How does fit.m determine starting points for exponential function parameters?

조회 수: 26 (최근 30일)
The curvefitting toolbox has a "fit.m" function that can fit various linear and nonlinear functions. It has single and double exponential model functions. While you can specify starting points for the parameters, fit.m can determine the initial values for the search. The doc says: "If no start points (the default value of an empty vector) are passed to the fit function, starting points for some library models are determined heuristically. For rational and Weibull models, and all custom nonlinear models, the toolbox selects default initial values for coefficients uniformly at random from the interval (0,1)..." Can anyone point me to the code that actually does this "heuristic" determination of the starting point values? I can't find it in fit.m itself, although it's a large file. Thanks much for any help. (I'm using 2016a.)

채택된 답변

Peter Weigel
Peter Weigel 2017년 7월 15일
Hi,
I believe what you're looking for is located in fittype/private/sethandles. If you type: "open fittype/private/sethandles" into the command prompt then the file will open for you (no need to dig through the MATLAB folders).
  댓글 수: 1
Tony Pryse
Tony Pryse 2017년 7월 18일
Thanks Peter! This Matlab file (fittype/private/sethandles) refers to the paper: "Initial Values for the Exponential Sum Least Squares Fitting Problem" by Joran Petersson and Kenneth Holmstrom, and implements the methods in it. I think I ran across this paper some years ago, and it's good to know how Matlab uses it.

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

giuseppe cardone
giuseppe cardone 2017년 3월 21일
Did you solve the problem?
  댓글 수: 2
Tony Pryse
Tony Pryse 2017년 3월 21일
Nope, still don't know how they do it, and there certainly doesn't seem to be much interest in the question as posted, judging from the lack of comments or answers. Oh, well ...
Laure A
Laure A 2017년 3월 23일
Hi,
I'm also looking for help on this point, since "exp1 fit" on some of my data also returns an error on starting points. My issue is precisely that this fit function works for some data and not for others, and I don't know why. Besides, doing the fit in "curve fitting tool" on the same data (not launching the funtion) does work, which is thus confusing...

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Linear and Nonlinear Regression에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by