- 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
43 次查看(过去 30 天)
显示 更早的评论
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 个评论
采纳的回答
John D'Errico
2019-10-11
编辑:John D'Errico
2019-10-11
Download polyfitn from the file exchange, here:
0 个评论
更多回答(1 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Polynomials 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!