function [Gamma,gamma] = ppp_output_constraints (A,B,C,D,x_0,A_u,Tau,Min,Max,Order) ## usage: ## [Gamma,gamma] = ppp_output_constraints(A,B,C,D,x_0,A_u,Tau,Min,Max,Order) ## ## ## Sanity check [n_y,n_tau] = size(Min); [n,m] = size(Max); if (n!=n_y)||(m!=n_tau) error("Max and Min must have the same dimensions"); endif [n,m] = size(Tau); if (m!=n_tau) error("Max and Min must have same number of columns as Tau"); endif if (n>1) error("Tau must be a row vector"); endif ##Defaults if nargin<10 Order=zeros(n_y,n_tau); endif ## Stack up constraints for each output Gamma=[]; gamma=[]; for i_y=1:n_y [Gamma_i,gamma_i] = \ ppp_output_constraint (A,B,C,D,x_0,A_u,Tau,\ Min(i_y,:),Max(i_y,:),Order(i_y,:),i_y); Gamma = [Gamma; Gamma_i]; gamma = [gamma; gamma_i]; endfor endfunction