How to do 2D surface fitting regression ?

5 vues (au cours des 30 derniers jours)
Haider al-kanan
Haider al-kanan le 26 Mai 2016
Commenté : Image Analyst le 27 Mai 2016
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 commentaires
Ahmet Cecen
Ahmet Cecen le 27 Mai 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
Image Analyst le 27 Mai 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.

Connectez-vous pour commenter.

Réponses (1)

Image Analyst
Image Analyst le 26 Mai 2016
I've attached a demo where I use it to do background correction.

Catégories

En savoir plus sur Linear and Nonlinear Regression dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by