How to calculate normal values of each xyz co-ordinates and ouput as a column vector for each co-ordinate?

9 views (last 30 days)
I have xyz point cloud data as a 40000x3 with each row containing a single point with x y and z data in the columns.
I am trying to calculate the normal value for each point to the origin, this works for an individual row, for example:
normd = norm(data(1,:));
However I need to do it for all the rows, i used this code but it combines it into all one normal value.
normd = norm(data(1:40000,:));
Ideally I need the normal value of each row (coordinate), in a column vector, for the range from 1 to 40000.
Thanks for any help.

Accepted Answer

Matt J
Matt J on 23 Feb 2018
Edited: Matt J on 23 Feb 2018
normd= sqrt( sum(data.^2,2) );

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!

Translated by