annotate l1overl2.m @ 3:ee2a86d7ec07

Added support functions
author danieleb@code.soundsoftware.ac.uk
date Wed, 15 Jun 2011 11:26:03 +0100
parents
children e23a23349e31
rev   line source
danieleb@3 1 function z = l1overl2(X)
danieleb@3 2 %L1OVERL2 ratio between the l1 and the l2 norms.
danieleb@3 3 %
danieleb@3 4 % z = l1overl2(X)
danieleb@3 5 %
danieleb@3 6 % computes the ratio between the l1 and the l2 norm of the input X. If
danieleb@3 7 % input is a matrix, the norms are calculated along the columns and a mean
danieleb@3 8 % value is returned. If the input is a cell, the norms are calculated
danieleb@3 9 % independently for each cell entry and a mean value is returned.
danieleb@3 10 %
danieleb@3 11 % ----------------------------------------------------------- %
danieleb@3 12 % Daniele Barchiesi, daniele.barchiesi@eecs.qmul.ac.uk %
danieleb@3 13 % Centre for Digital Music, Queen Mary University of London %
danieleb@3 14 % Apr. 2011 %
danieleb@3 15 % ----------------------------------------------------------- %
danieleb@3 16 if iscell(X)
danieleb@3 17 nCols = length(X);
danieleb@3 18 z = zeros(nCols,1);
danieleb@3 19 for i=1:nCols
danieleb@3 20 z(i) = norm(X{:,i},1)/norm(X{:,i},2);
danieleb@3 21 end
danieleb@3 22 else
danieleb@3 23 nCols = size(X,2);
danieleb@3 24 z = zeros(nCols,1);
danieleb@3 25 for i=1:nCols
danieleb@3 26 z(i) = norm(X(:,i),1)/norm(X(:,i),2);
danieleb@3 27 end
danieleb@3 28 end
danieleb@3 29
danieleb@3 30 z(isnan(z)) = [];
danieleb@3 31 z = mean(z);
danieleb@3 32
danieleb@3 33 %EOF