diff options
Diffstat (limited to '2048/CH13/EX13.7/lqg_simple.sci')
-rwxr-xr-x | 2048/CH13/EX13.7/lqg_simple.sci | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/2048/CH13/EX13.7/lqg_simple.sci b/2048/CH13/EX13.7/lqg_simple.sci new file mode 100755 index 000000000..fe72ef752 --- /dev/null +++ b/2048/CH13/EX13.7/lqg_simple.sci @@ -0,0 +1,16 @@ +// Simplified LQG control design, obtained by the solution of Eq. 13.53 on page 476.
+// 13.7
+
+// LQG controller simple design by method of Ahlen and Sternad
+// function [R1,dR1,S,dS] = ...
+// lqg_simple(A,dA,B,dB,C,dC,k,rho,V,dV,W,dW,F,dF)
+
+function [R1,dR1,S,dS] = ...
+lqg_simple(A,dA,B,dB,C,dC,k,rho,V,dV,W,dW,F,dF)
+[r,b,db] = specfac(A,dA,B,dB,rho,V,dV,W,dW,F,dF);
+[D,dD] = polmul(A,dA,F,dF);
+[zk,dzk] = zpowk(k);
+[N,dN] = polmul(zk,dzk,B,dB);
+[RHS,dRHS] = polmul(C,dC,b,db);
+[S,dS,R1,dR1] = xdync(N,dN,D,dD,RHS,dRHS);
+endfunction;
|