Overview
| Comment: | Previous version wrong for x_0 ne 0; this version now correct |
|---|---|
| Downloads: | Tarball | ZIP archive |
| Timelines: | family | ancestors | descendants | both | origin/master | trunk |
| Files: | files | file ages | folders |
| SHA3-256: |
a08be0e007845ca5086c0862277fe391 |
| User & Date: | gawthrop@users.sourceforge.net on 2003-11-03 01:07:16.000 |
| Other Links: | branch diff | manifest | tags |
Context
|
2003-11-03
| ||
| 02:47:47 | Show constained and controlled outputs seperately. check-in: ad19b07f17 user: gawthrop@users.sourceforge.net tags: origin/master, trunk | |
| 01:07:16 | Previous version wrong for x_0 ne 0; this version now correct check-in: a08be0e007 user: gawthrop@users.sourceforge.net tags: origin/master, trunk | |
|
2003-11-02
| ||
| 23:34:57 | Split up outtput into controlled and constrained check-in: 15390c620e user: gawthrop@users.sourceforge.net tags: origin/master, trunk | |
Changes
Modified mttroot/mtt/lib/control/PPP/ppp_output_constraint.m
from [3c6de46c10]
to [1ed78d0651].
| ︙ | ︙ | |||
44 45 46 47 48 49 50 51 52 |
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
| > | | | | | | 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
|