- Ensure you have sufficient data. I.e., significantly more data points than you have coefficients to estimate.
- Make sure the data is itself sufficient. People frequently do not realize their data does not support estimation of all those coefficients. For example, it is a good idea for the data to essentially fill the region they will be building that model from. Do NOT think you can estimate that model using data that lies itself on a curve in the XYZ space, or even on a surface. That will fail miserably.
- Make sure you will not have numerical problems in the fit. This usually means that if your data (X,Y,Z) are numbers of alarge magnitude, then you will need to scale them in such a way that raising them to powers will not in itself be a problem, in terms of double precision arithmetic. You can improve the conditioning of the problem even more by centering the variables. That means to have each of x,y,z being variables that live on the domain [-1,1]. Polyfit itself has such an option to help you do this automatically, but polyfitn does not. Such is life, and it is not difficult to do.
- Do not even fantasize that just because a linear model works ok, and a quadratic model gives a better fit, that a complete 10th order polynomial has a chance in hell of being a good idea.
Polynomial Fitting of 3 variables
41 views (last 30 days)
Show older comments
Hello everyone,
I would like to know if there is any option of fitting a polynomial function to a set of n points.
I mean supplying (x1,y1,z1,f(x1,y1,z1)), (x2,y2,z2,f(x2,y2,z2)), ............., (xn,yn,zn,f(xn,yn,zn)) and getting:
P(x,y,z)=a1*(x^k)+a2*(y^k)+a3*(z^k)+....+const
Thanks!
0 Comments
Accepted Answer
John D'Errico
on 11 Oct 2019
Edited: John D'Errico
on 11 Oct 2019
Download polyfitn from the file exchange, here:
0 Comments
More Answers (1)
See Also
Categories
Find more on Polynomials 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!