
Plane Fitting a 3D Scatter Plot
    28 views (last 30 days)
  
       Show older comments
    
I have a 3D scatter plot that I want to have a planar fit. How do you do this?
x = [14.9 1.7 0.0 10.9 0.0];
y = [11.3 9.1 23.7 12.8 2.9];
z = [5.32787E-17 2.93234E-16 2.09997E-16 5.45E-17 4.55E-16];
scatter3(x,y,z)

0 Comments
Accepted Answer
  Star Strider
      
      
 on 7 Mar 2019
        A simple linear regression is straightforward: 
x = [14.9 1.7 0.0 10.9 0.0];
y = [11.3 9.1 23.7 12.8 2.9];
z = [5.32787E-17 2.93234E-16 2.09997E-16 5.45E-17 4.55E-16];
B = [x(:) y(:) ones(size(x(:)))] \ z(:);
xv = linspace(min(x), max(x), 10)';
yv = linspace(min(y), max(y), 10)';
[X,Y] = meshgrid(xv, yv);
Z = reshape([X(:), Y(:), ones(size(X(:)))] * B, numel(xv), []);
scatter3(x,y,z, 'filled')
hold on
mesh(X, Y, Z, 'FaceAlpha', 0.5)
hold off
view(-120, 35)
title(sprintf('Z = %+.3E\\cdotX %+.3E\\cdotY %+.3E', B)) 
producing: 

6 Comments
  Damla Yüksel
 on 1 Dec 2019
				Hello, in the following line, matlab returns an error: 
"Error using plot3
Vectors must be the same length.
Error in (line 33)
plot3([x; x], [y; y], [z(:) Ze]', '-r','LineWidth',1) % Plot Errors (Red Lines From Surface To Data)"
What should I do for this error?
  Star Strider
      
      
 on 1 Dec 2019
				You should make the vectors the same length!  
It is best for you to post this as a new Question, supplying ‘x’, ‘y’, ‘z’ and ‘Ze’.  
Your Comment does not relate to the substance of this thread, so I will delete it (and my Comment here) in a few yours.  
More Answers (1)
  KSSV
      
      
 on 7 Mar 2019
        x = [14.9 1.7 0.0 10.9 0.0];
y = [11.3 9.1 23.7 12.8 2.9];
z = [5.32787E-17 2.93234E-16 2.09997E-16 5.45E-17 4.55E-16];
nx = 10 ; ny = 10 ;
xi = linspace(min(x),max(x),nx) ; 
yi = linspace(min(y),max(y),ny) ; 
[X,Y] = meshgrid(xi,yi) ;
F = scatteredInterpolant(x',y',z') ; 
Z = F(X,Y) ;
scatter3(x,y,z)
hold on
surf(X,Y,Z)
0 Comments
See Also
Categories
				Find more on Line Plots in Help Center and File Exchange
			
	Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

%20-%202019%2003%2006.png)

