f37635c15f31ce2828477632ae698ba025013ec0
1 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
2 // Copyright (C) 2000 - INRIA - Carlos Klimann
3 //
4 // Copyright (C) 2012 - 2016 - Scilab Enterprises
5 //
6 // This file is hereby licensed under the terms of the GNU GPL v2.0,
7 // pursuant to article 5.3.4 of the CeCILL v.2.1.
8 // This file was originally licensed under the terms of the CeCILL v2.1,
9 // and continues to be available under such terms.
10 // For more information, see the COPYING file which you should have received
11 // along with this program.
12 //
14 function [r]=strange(x,orien)
15     //
16     //The range  is  the distance between   the largest  and smaller  value,
17     //[r]=range(x) computes the range of vector or matrix x.
18     //
19     //[r]=range(x,'r')  (or equivalently  [r]=range(x,1)) give a  row vector
20     //with the range of each column.
21     //
22     //[r]=range(x,'c') (or equivalently [r]=range(x,2)) give a column vector
23     //with the range of each row.
24     //
25     //
26     [lhs,rhs]=argn(0)
27     if rhs==0 then error(msprintf(gettext("%s: Wrong number of input arguments: %d to %d expected.\n"),"strange",0,2)), end
28     if rhs==1 then
29         r=max(x)-min(x)
30     elseif rhs==2 then
31         if orien=="r"|orien==1 then
32             r=max(x,"r")-min(x,"r")
33         elseif orien=="c"|orien==2 then
34             r=max(x,"c")-min(x,"c")
35         else
36             error(msprintf(gettext("%s: Wrong value for %d input argument: ''%s'', ''%s'', %d or %d expected.\n"),"strange",2,"r","c",1,2)),
37         end
38     end
39 endfunction