File Exchange

image thumbnail

Vector norm

version 1.0 (1.96 KB) by

Returns the vector norm for a specified dimension (e.g. row/col) of a matrix

2 Downloads

Updated

No License

% VNORM - Return the vector norm along specified dimension of A
%
% VNORM(A) returns the 2-norm along the first non-singleton
% dimension of A
% VNORM(A,dim) return the 2-norm along the dimension 'dim'
% VNORM(A,dim,normtype) returns the norm specified by normtype
% along the dimension 'dim'
% VNORM(A,[],normtype) returns the norm specified by normtype along
% the first non-singleton dimension of A
%
% normtype may be one of {inf,-inf,positive integer}.
% For a given vector, v, these norms are defined as
% inf: max(abs(v))
% -inf: min(abs(v))
% p (where p is a positive integer): sum(abs(v).^p)^(1/p)
%
% Examples:
% A = [8 1 6; 3 5 7; 4 -9 2];
%
% %Columnwise 2-norm (Euclidean norm)
% vnorm(A,1) = [9.4340 10.3441 9.4340];
% vnorm(A,[],2) % Same as above (since first non-singleton dimensions
% % is columnwise and default norm is 2-norm.
% vnorm(A,[],[])% Again, same as above
%
% % Row-wise maximum of absolute values
% vnorm(A,2,inf) = [8 7 9]';
%
% % Columnwise minimum of absolute values
% vnorm(A,[],-inf) = [3 1 2];
%
% % Error: Use the inf type and not the string 'inf'
% vnorm(A,[],'inf') % Wrong
% vnorm(A,[],inf) % Correct

Comments and Ratings (1)

John D'Errico

Minor points - the 1-norm should also be a special case for speed. I'd also suggest some cleanup on the help, i.e., some users might not otherwise know that the infinity norm will select out the maximum element, or what -inf does. On the other hand, whenever I see a matlab idiom for something I've done many times in the past, I recognize value in it. Well done.

MATLAB Release
MATLAB 7.1.0 (R14SP3)
Tags Add Tags

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video