function name = ppp_ex3 (Return_Name)
## usage: Name = ppp_ex3 (Return_Name)
##
## PPP example: Uncoupled 5x5 system
## $Id$
## Example name
name = "Uncoupled NxN system - n first order systems";
if nargin>0
return
endif
## System - N uncoupled integrators
N = 3
A = -0.0*eye(N);
B = eye(N);
C = eye(N);
D = zeros(N,N);
t =[4:0.1:5]; # Optimisation horizon
## Create composite matrices
A_u = []; # Initialise
A_w = []; # Initialise
for i=1:N
## Setpoint - constant
a_w = ppp_aug(0,[]);
A_w = [A_w;a_w];
## Controller
a_u = ppp_aug(-i,a_w);
A_u = [A_u; a_u];
endfor
A_u = [-diag([1:N])]
Q = ones(N,1); # Equal output weightings
W = ones(N,1); # Setpoints are all unity
## Design and simulate
[k_x,k_w,K_x,K_w,Us0,J_uu,J_ux,J_uw,J_xx,J_xw,J_ww,y_u] = ppp_lin(A,B,C,D,A_u,A_w,t);
# [ol_poles,cl_poles,ol_zeros,cl_zeros,k_x,k_w,K_x,K_w] = \
# ppp_lin_plot(A,B,C,D,A_u,A_w,t,Q,W);
Approximate_K_x = K_x#(1:2:2*N,:)
A_c = A-B*k_x;
Closed_Loop_Poles = eig(A-B*k_x)
## Now try out the open/closed loop theory
# A_u = -diag(1:N); # Full A_u matrix
# A_c = -diag(1:N); # Ideal closed-loop
# k_x = diag(1:N); # Ideal feedback
KK = ppp_open2closed (ppp_inflate(A_u),A_c,k_x);
Exact_K_x_tilde = KK
endfunction