File Exchange

image thumbnail

Normalize N-D Vectors in Single Matrix or N Component Matrices

version 1.0.0.0 (5.04 KB) by Ioannis Filippidis
Normalizes N-D vectors provided either in one matrix, or as multiple component matrices.

1 Download

Updated 19 Apr 2012

View License

NORMVEC normalize vector(s).
NORMVEC computes the unit vectors in the direction of the vectors
provided. It can process two types of arguments:

1) single matrix of vectors
2) multiple matrices of vector components
(as those returned by MESHGRID and NDGRID)

In both cases, the p-norm to be used can be specified.
The default is the 2-norm (Euclidean).

Only in the first case, the matrix dimension along which the vectors
are defined can be defined. The default is the first non-singleton
This behavior is derived from VNORM (FEX id=#10708, by Winston Smith),
which is called by this function.

Zero vectors are normalized to 0 and NOT to NaN.

usage

Case A: matrix of N-dimensional column vectors
[v] = NORMVEC(v)
[v] = NORMVEC(v, 'p', n)
[v] = NORMVEC(v, 'p', n, 'dim', d)

v = matrix of column vectors
= [#dimensions x #vectors]
n = p-norm selected (e.g. 2 is the Euclidean norm ||.||_2)
d = norm for vectors defined along dimension d of matrix v
>= 1
or [] (vectors along first non-singleton dimension)

Case B: 2 component matrices of 2-dimensional vectors
[px, py] = NORMVEC(px, py)
[px, py] = NORMVEC(px, py, 'p', n)

px = matrix [M x N] of x vector components
py = matrix [M x N] of y vector components
n = 'p' norm selected

Case C: 3 component matrices of 3-dimensional vectors
[px, py, pz] = NORMVEC(px, py, pz)
[px, py, pz] = NORMVEC(px, py, pz, 'p', n)

px = matrix [M x N x L] of x vector components
py = matrix [M x N x L] of y vector components
pz = matrix [M x N x L] of z vector components
n = 'p' norm selected

Case D: N component matrices of N-dimensional vectors
[px1, px2, ..., pxN] = NORMVEC(px1, px2, ..., pxN)
[px1, px2, ..., pxN] = NORMVEC(px1, px2, ..., pxN, 'p', n)

pxi = matrix [M1 x M2 x ... x MN] of xi vector components
n = 'p' norm selected

dependency (included)
vnorm, File Exchange ID = 10708, (c) 2006 by Winston Smith
http://www.mathworks.com/matlabcentral/fileexchange/10708-vector-norm

Cite As

Ioannis Filippidis (2020). Normalize N-D Vectors in Single Matrix or N Component Matrices (https://www.mathworks.com/matlabcentral/fileexchange/36248-normalize-n-d-vectors-in-single-matrix-or-n-component-matrices), MATLAB Central File Exchange. Retrieved .

Comments and Ratings (0)

MATLAB Release Compatibility
Created with R2012a
Compatible with any release
Platform Compatibility
Windows macOS Linux