residuals from histfit result

3 views (last 30 days)
David Morgan
David Morgan on 29 Sep 2017
Commented: Star Strider on 29 Sep 2017
Hi,
I'm trying to curve fit some histogram data using histfit and would like to know if there is a good way to evaluate the fit to the binned data. I know that I can manually extract both the parameters from the fit and the bin centers and heights from the histogram, and then calculate things like an RMS difference. Is there an easier or more automatic way to do this?
Thanks in advance.

Accepted Answer

Star Strider
Star Strider on 29 Sep 2017
I’m not aware of one.
One approach that avoids the need to extract the parameters of the distribution and calculate the curve at the histogram centres:
r = normrnd(10,1,100,1); % Create Data
h = histfit(r,10,'normal'); % Return Handle Values
bars = h(1); % ‘Bar’ Structure
curve = h(2); % ‘Line’ Structure
curve_at_bars = interp1(curve.XData, curve.YData, bars.XData, 'pchip'); % Interpolate
resid = curve_at_bars - bars.YData; % Calculate Residuals
The 'pchip' interpolation method would probably be more appropriate than the alternatives here.
I don’t know what data you will actually be analysing, so I don’t know if this approach is appropriate to them.
  2 Comments
David Morgan
David Morgan on 29 Sep 2017
Thanks so much. This looks like exactly what I need, and is far more simple than I was thinking of when extracting various pieces and working with them.
Star Strider
Star Strider on 29 Sep 2017
As always, my pleasure!

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!