File: st_deviation.sci

package info (click to toggle)
scilab 2.4-1
  • links: PTS
  • area: non-free
  • in suites: potato, slink
  • size: 55,196 kB
  • ctags: 38,019
  • sloc: ansic: 231,970; fortran: 148,976; tcl: 7,099; makefile: 4,585; sh: 2,978; csh: 154; cpp: 101; asm: 39; sed: 5
file content (26 lines) | stat: -rw-r--r-- 570 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
function y=st_deviation(x,orient)
// Copyright INRIA
[lhs,rhs]=argn(0)
if x==[] then y=%nan;return,end
if rhs==1 then
  n=size(x,'*')
  y=norm(x-sum(x)/n)
  if n>1 then y = y / sqrt(n-1);end
elseif orient=='r'|orient==1 then
  [m,n]=size(x)
  y=sum(x,'r')/m
  for l=1:n
    y(l) = norm(x(:,l)-y(l));
  end
  if m>1 then y = y / sqrt(m-1);end
elseif orient=='c'|orient==2 then
  [m,n]=size(x)
  y=sum(x,'c')/n
  for k=1:m
    y(k) = norm(x(k,:)-y(k));
  end  
  if n>1 then y = y / sqrt(n-1);end
else  
  error('mean : second argument must be ''r'', ''c'', 1 or 2')
end