How to get the fitted data by using Matlab's "Fit" Function?

39 views (last 30 days)
For example, by using below code
load franke;
fitresult = fit( [x, y], z, 'poly33' );
From fitresult, I can get the formula used to fit x,y and z data
But how can I get the fitted data matrix via this "fit" function?

Accepted Answer

Wayne King
Wayne King on 22 Sep 2012
It gives you a 1-D vector, but that 1-D vector is a polynomial in two variables, hence it is a function of the form f(x,y)=z
Calling
formula(fitresult)
shows you exactly what the terms in x and y the coefficients multiply

More Answers (1)

Wayne King
Wayne King on 22 Sep 2012
Hi, you can use the coeffvalues() method on the fitresult object.
coeffs = coeffvalues(fitresult);
That will give you the coefficients of your polynomial in x and y.
To see how those coefficients enter into the polynomial equation:
formula(fitresult)
  2 Comments
Zheng
Zheng on 22 Sep 2012
Thanks, Wayne. But how can I use this formula to calculate the surface (shown as below)? This formula can only help me get a 1-D vector, not 2-D matrix.
grace
grace on 22 Feb 2013
May I know what is the code for goodness of fit? coeffs = coeffvalues(fitresult); Similarly, rsquare = code(fitresult); I wanted to get the rsquare values from cftool to display in command window.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!