error(number): converting occurrences remaining in all .sce .sci files
[scilab.git] / scilab / modules / cacsd / macros / obsv_mat.sci
1 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
2 // Copyright (C) INRIA -
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
13 function o = obsv_mat(a, c)
14
15     [lhs,rhs]=argn(0)
16     select typeof(a)
17     case "constant"  then
18         if rhs==1 then
19             msg = _("%s: Wrong number of input arguments: %d expected")
20             error(msprintf(msg, "obsv_mat", 2))
21         end
22         [m,n] = size(a)
23         if m<>n then
24            msg = _("%s: Argument #%d: Square matrix expected.\n")
25             error(msprintf(msg, "obsv_mat", 1))
26         end
27         [mb, nb] = size(c);
28         if nb<>n then
29             msg = _("%s: Arguments #%d and #%d: Same numbers of columns expected.\n")
30             error(msprintf(msg, "obsv_mat", 1, 2))
31         end
32     case "state-space" then
33         [a,c]=a([2,4])
34         [n,n]=size(a)
35     else
36         if rhs==1 then
37             msg = _("%s: Wrong type for input argument #%d: Linear dynamical system expected.\n")
38             error(msprintf(msg,"obsv_mat",1))
39         else
40             msg = _("%s: Wrong type of input argument #%d: Array of floating point numbers expected.\n")
41             error(msprintf(msg, "obsv_mat", 1))
42         end
43     end;
44     o = c;
45     for k = 1:n-1
46         o = [c ; o*a]
47     end
48 endfunction