44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
|
if (n != n_tau)||(m != n_tau)||(o != n_tau)
error("Tau, Min, Max and Order must be the same length");
endif
## Compute Gamma
Gamma = [];
for i=1:n_U
U = zeros(n_U,1); U(i,1) = 1; # Set up U_i
y_i = ppp_ystar (A,B,C,D,x_0,A_u,U,Tau); # Compute y* for ith input for each tau
y_i = y_i(i_y,:); # Pluck out output i_y
## Gamma = [Gamma [-y_i';y_i']]; # Put in parts for Min and max
Gamma_i = [];
if (Min>-inf)
Gamma_i = [Gamma_i; -y_i']; # Min part of column
endif
if (Max<inf)
Gamma_i = [Gamma_i; y_i']; # Add column for Max
endif
Gamma = [Gamma Gamma_i]; # Put in parts for Min and max
endfor
## Compute gamma
## gamma = [-Min';Max'];
gamma = [];
if (Min>-inf)
gamma = [gamma; -Min'];
endif
if (Max<inf)
gamma = [gamma; Max'];
endif
endfunction
|
>
|
|
|
|
|
|
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
|
if (n != n_tau)||(m != n_tau)||(o != n_tau)
error("Tau, Min, Max and Order must be the same length");
endif
## Compute Gamma
Gamma = [];
zero_x = zeros(size(x_0));
for i=1:n_U
U = zeros(n_U,1); U(i,1) = 1; # Set up U_i
y_i = ppp_ystar (A,B,C,D,zero_x,A_u,U,Tau); # Compute y* for ith input for each tau
y_i = y_i(i_y,:); # Pluck out output i_y
## Gamma = [Gamma [-y_i';y_i']]; # Put in parts for Min and max
Gamma_i = [];
if (Min>-inf)
Gamma_i = [Gamma_i; -y_i']; # Min part of column
endif
if (Max<inf)
Gamma_i = [Gamma_i; y_i']; # Add column for Max
endif
Gamma = [Gamma Gamma_i]; # Put in parts for Min and max
endfor
## Compute gamma
zero_U = zeros(size(U));
y_x = ppp_ystar (A,B,C,D,x_0,A_u,zero_U,Tau); # Output if U is zero
gamma = [];
if (Min>-inf)
gamma = [gamma; -(Min-y_x)'];
endif
if (Max<inf)
gamma = [gamma; (Max-y_x)'];
endif
endfunction
|