How to do 2D surface fitting regression ?
4 views (last 30 days)
Show older comments
I have data x, y are 2 independant variables , x is vector data 1x200, y is vector data 1x5, z is dependant variable which is matrix data dim 5x200. I am trying to fit polynomail surface to the given data in the form Z = p00 + p10*x + p01*y + p20*x.^2 + p11*x*y + p30*x.^3 + p21*x.^2*y since the variables dimension don't match , I got error when using the least error method to estimate the coffiecients P P=[1 x y x.^2 x*y x.^3 x.^2*y]\Z how to solve that? and represent it in matrix forms?
2 Comments
Ahmet Cecen
on 27 May 2016
There is something wrong with the way you are setting up the problem. You cannot have independent variables with different dimensions for a regression problem. If x has 200 observations, y also needs to have 200 observations (not necessarily unique).
Image Analyst
on 27 May 2016
He'd need to use meshgrid
[allX, allY] = meshgrid(x, y);
and then make sure the Z are associated with the correct coordinate. Or better yet, just start with a 5x200 image of Z. Then he can use polyfitn() like in my answer below.
Answers (1)
Image Analyst
on 26 May 2016
I've attached a demo where I use it to do background correction.
0 Comments
See Also
Categories
Find more on Linear and Nonlinear Regression 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!