Plane fit (z=ax+by+c) to 3D point data

14 ビュー (過去 30 日間)
Swati Jain
Swati Jain 2017 年 9 月 7 日
コメント済み: Hongshun Chen 2019 年 4 月 24 日
Hi,
I have step plot (attached) and I want to fit a plane on the lower terrace of it. Excel file of point cloud is attached as well. Data represent in file is N-by-3 numeric data and each column corresponds to x, y and z. Could anyone please help me out how to fit the plane to the lower terrace?

採用された回答

Akira Agata
Akira Agata 2017 年 9 月 7 日
Assuming that your data is N-by-3 numeric array, say yourData, and each column corresponds to x, y and z, the following code can generate a, b and c for fitting plane (z = ax + by + c).
% Assuming that yourData is N-by-3 numeric array
B = [ones(N,1), yourData(:,1:2)] \ yourData(:,3);
Where a = B(2), b = B(3) and c = B(1).
  1 件のコメント
Hongshun Chen
Hongshun Chen 2019 年 4 月 24 日
What if the plane is parallel to the z. Singularity will come out when calculating the plane normal.

サインインしてコメントする。

その他の回答 (1 件)

KSSV
KSSV 2017 年 9 月 7 日
[num,txt,raw] = xlsread('Step_scan01_ex.xls') ;
x = num(:,1) ; y = num(:,3) ; z = num(:,3) ;
x0 = min(x) ; x1 = max(x) ; nx = 500 ;
y0 = min(y) ; y1 = max(y) ; ny = 500 ;
xx = linspace(x0,x1,nx) ;
yy = linspace(y0,y1,ny) ;
[X,Y] = meshgrid(xx,yy) ;
Z = griddata(x,y,z,X,Y) ;
surf(X,Y,Z)
shading interp

カテゴリ

Help Center および File ExchangeGet Started with Statistics and Machine Learning Toolbox についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by