LINE Solver
MATLAB API documentation
Loading...
Searching...
No Matches
QBD_ParsePara.m
1function QBD_ParsePara(A0,A1,A2)
2%QBD_ParsePara checks the validity of the input matrices A0, A1 and A2
3
4% check numeric
5if (~isnumeric(A0))
6 error('MATLAB:QBD_ParsePara:InvalidInput',...
7 'A0 has to be numeric');
8end
9if (~isnumeric(A1))
10 error('MATLAB:QBD_ParsePara:InvalidInput',...
11 'A1 has to be numeric');
12end
13if (~isnumeric(A2))
14 error('MATLAB:QBD_ParsePara:InvalidInput',...
15 'A2 has to be numeric');
16end
17
18% check real
19if (~isreal(A0))
20 error('MATLAB:QBD_ParsePara:InvalidInput',...
21 'A0 has to be a real matrix');
22end
23if (~isreal(A1))
24 error('MATLAB:QBD_ParsePara:InvalidInput',...
25 'A1 has to be a real matrix');
26end
27if (~isreal(A2))
28 error('MATLAB:QBD_ParsePara:InvalidInput',...
29 'A2 has to be a real matrix');
30end
31
32% check dimension
33if (size(A0,1) ~= size(A0,2))
34 error('MATLAB:QBD_ParsePara:InvalidInput',...
35 'A0 is not a square matrix');
36end
37if (size(A1,1) ~= size(A1,2))
38 error('MATLAB:QBD_ParsePara:InvalidInput',...
39 'A1 is not a square matrix');
40end
41if (size(A2,1) ~= size(A2,2))
42 error('MATLAB:QBD_ParsePara:InvalidInput',...
43 'A2 is not a square matrix');
44end
45if (size(A0,1) ~= size(A1,1))
46 error('MATLAB:QBD_ParsePara:InvalidInput',...
47 'The matrices A0 and A1 do not have the same dimension');
48end
49if (size(A0,1) ~= size(A2,1))
50 error('MATLAB:QBD_ParsePara:InvalidInput',...
51 'The matrices A0 and A2 do not have the same dimension');
52end
53
54% check nonnegativity
55if (min(min(A0)) < -10^(-14))
56 error('MATLAB:QBD_ParsePara:InvalidInput',...
57 'The matrix A0 contains negative data');
58end
59if (min(min(A1)) < -10^(-14))
60 error('MATLAB:QBD_ParsePara:InvalidInput',...
61 'The matrix A1 contains negative data');
62end
63if (min(min(A2)) < -10^(-14))
64 error('MATLAB:QBD_ParsePara:InvalidInput',...
65 'The matrix A2 contains negative data');
66end
67
68% check (sub)stochasticity
69if (max(sum(A0+A1+A2,2)) > 1+10^(-14))
70 error('MATLAB:QBD_ParsePara:InvalidInput',...
71 'The matrix A0+A1+A2 has to be (sub)stochastic');
72end