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 |