sfit object. can't get coefficients.

28 views (last 30 days)
almaz ham
almaz ham on 3 Mar 2015
Commented: maitehar on 8 Jun 2020
Hello. There is my code:
>> c = fit( [X, Z], Y, ft, opts );
>> c
Linear interpolant:
c(x,y) = piecewise linear surface computed from p
where x is normalized by mean 0.5 and std 0.2745
and where y is normalized by mean 227.7 and std 80.16
Coefficients:
p = coefficient structure
>> class(c)
ans =
sfit
>> coeffvalues(c)
ans =
TriangleSurfaceInterpolant with properties:
Type: 'Linear'
>> c.p
ans =
TriangleSurfaceInterpolant with properties:
Type: 'Linear'
>> c(0.3, 201)
ans =
26349
Is it possible to get coefficient of
c() function?

Answers (3)

Greig
Greig on 3 Mar 2015
As Sean de Wolski points out in the question that you linked to, a interpolated surface fit has multiple sets of linear fit coefficients, one for each point in the data.
If you want to have just a single set of coefficients for the entire surface fit you will need to use a polynomial fit. For example, if you want to use a 2nd order polynomial in both x and z, set the fittype to 'poly22'. The c.p00, c.p10, c.p01, c.p11, c.p20, c.p02 will contain all of your coefficients.
If this is not what you are looking for could you gives us some more details about what your are wanting.
  4 Comments
maitehar
maitehar on 8 Jun 2020
Ah, got it! I'lll leave it here just in case someone checks this later:
The structure with all coeficient values from a linear fit is called:
your_fit_name.p.coefs
cheers,

Sign in to comment.



almaz ham
almaz ham on 3 Mar 2015
How implement it in embedded code?

Tags

Community Treasure Hunt

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

Start Hunting!