Least squares fit/line fit for 3D data

59 views (last 30 days)
Wes Anderson
Wes Anderson on 4 Dec 2019
Edited: Matt J on 4 Dec 2019
I have 3D data that I'd like to get a least squares fit from. Once I have this fit with an equation, I'd like to transform new data with it...so I need the code and to understand where to plug the new data into whatever equation comes from it. Can anyone help? Much appreciated.
Thanks

Answers (1)

Star Strider
Star Strider on 4 Dec 2019
For a linear regression, this is straightforward:
B = [x(:) y(:) ones(size(x(:)))] \ z(:); % Linear Parameters
z_fit = [x(:) y(:) ones(size(x(:)))] * B; % Fitted ‘z’
For a nonlinear regression, we would need sto see your model.
  1 Comment
Matt J
Matt J on 4 Dec 2019
Edited: Matt J on 4 Dec 2019
This looks like a plane fit to me. A 3D line fit would result in 2 algebraic equations.
Also, the fit looks like it assumes no errors in x and y.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!