diff general/numerical/pdev.m @ 4:e44f49929e56

Adding reorganised general toolbox, now in several subdirectories.
author samer
date Sat, 12 Jan 2013 19:21:22 +0000
parents
children 8476b3d9d295
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/general/numerical/pdev.m	Sat Jan 12 19:21:22 2013 +0000
@@ -0,0 +1,22 @@
+function N=pdev(p,A,D)
+% pdev - p-deviation, generalisation of stddev for exponents other than 2
+%
+% pdev :: nonneg, [[D1]], I:natural -> [[D2]].
+% pdev :: nonneg, [[N D]] -> [[ 1 D]].
+%
+% where D2 = set(D1,I,1), ie the Ith dimension is
+% collapsed. I defaults to 1. The p-deviation is defined as 
+%    pdev(p,x,i) = mean(abs(x).^p,i).^(1/p)
+%
+% See also pnorm.
+
+if nargin<2, D=1; end;
+
+% Should these be sum or mean?
+if p==2
+	N=sqrt(mean(abs(A).^2,D));
+else
+	N=mean(abs(A).^p,D).^(1/p);
+end
+	
+