while doing curve-fitting for custom equation, error is occuring??

1 view (last 30 days)
iam doing a custom equaion in curve-fitting tool to find the constants.
y= c+a*log(x)+b*log(1-x) it is the equation. I took more x and y points to plot the graph. Then also "" Inf computed by model function, fitting cannot continue.
Try using or tightening upper and lower bounds on coefficients"" this error is occuring when i entered the equation. Please help me out to clear this error and to get constants??
  2 Comments
Walter Roberson
Walter Roberson on 13 Feb 2020
That could happen if any of your x are exactly 0 or exactly 1, due to your log terms.
It could also happen if a or b or c are permitted to go to infinity. My experience suggest that none of those would be likely to go to infinity unless log(x) or log(1-x) are very small in absolute value -- such as x values that are near 1 +/- eps (for first log) or x values that are near 0 (leading to the 1-x to be near 1 leading to log(1) being about 0)

Sign in to comment.

Answers (1)

Jakob B. Nielsen
Jakob B. Nielsen on 13 Feb 2020
Edited: Jakob B. Nielsen on 13 Feb 2020
If your input data contains or spans x=0, your first logaritm will not be defined. In addition, if your x exceeds 1, your second logaritm log(1-x) will be a complex number, and therefore can't be fitted - while it, again, will not be defined for x=1.
Make sure your x input lies between 0 and 1, but not containing either.

Categories

Find more on Fit Postprocessing in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!