1 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
2 // Copyright (C) 2000 - INRIA - Carlos Klimann
3 //
4 // This file must be used under the terms of the CeCILL.
5 // This source file is licensed as described in the file COPYING, which
6 // you should have received as part of this distribution.  The terms
7 // are also available at
8 // http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
9 //
11 function [r]=strange(x,orien)
12 //
13 //The range  is  the distance between   the largest  and smaller  value,
14 //[r]=range(x) computes the range of vector or matrix x.
15 //
16 //[r]=range(x,'r')  (or equivalently  [r]=range(x,1)) give a  row vector
17 //with the range of each column.
18 //
19 //[r]=range(x,'c') (or equivalently [r]=range(x,2)) give a column vector
20 //with the range of each row.
21 //
22 //
23   [lhs,rhs]=argn(0)
24   if rhs==0 then error(msprintf(gettext("%s: Wrong number of input arguments: %d to %d expected.\n"),"strange",0,2)), end
25   if rhs==1 then
26     r=max(x)-min(x)
27   elseif rhs==2 then
28     if orien=='r'|orien==1 then
29       r=max(x,'r')-min(x,'r')
30     elseif orien=='c'|orien==2 then
31       r=max(x,'c')-min(x,'c')
32     else
33       error(msprintf(gettext("%s: Wrong value for second input argument: ''%s'', ''%s'', %d or %d expected.\n"),"strange","r","c",1,2)),
34     end
35   end
36 endfunction