Overview
Comment: | Removed y_u arg from ppp_lin_quad |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | origin/master | trunk |
Files: | files | file ages | folders |
SHA3-256: |
dd760bdfd45257452f9d4412a7ec5c08 |
User & Date: | gawthrop@users.sourceforge.net on 2003-10-06 08:22:55 |
Other Links: | branch diff | manifest | tags |
Context
2003-10-06
| ||
08:36:44 | augment option - constant term in basis check-in: f5f8cb8a81 user: gawthrop@users.sourceforge.net tags: origin/master, trunk | |
08:22:55 | Removed y_u arg from ppp_lin_quad check-in: dd760bdfd4 user: gawthrop@users.sourceforge.net tags: origin/master, trunk | |
08:02:02 | obsolete <> replaced by != check-in: c146b23bbb user: gawthrop@users.sourceforge.net tags: origin/master, trunk | |
Changes
Modified mttroot/mtt/lib/control/PPP/ppp_lin_quad.m from [bebc32a414] to [c0426fddbf].
|
| | < | > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | function [k_x,k_w,K_x,K_w,Us0,J_uu,J_ux,J_uw,J_xx,J_xw,J_ww,A_u] = \ ppp_lin_quad (A,B,C,D,tau,Q,R) ## usage:[k_x,k_w,K_x,K_w,Us0,J_uu,J_ux,J_uw,J_xx,J_xw,J_ww,A_u] = ## ppp_lin_quad (A,B,C,D,tau,Q,R) ## ## ## Steady-state Linear Quadratic solution ## using Algebraic Riccati equation (ARE) [P,A_u,A_w] = ppp_are (A,B,C,D,Q,R); ## PPP solution [k_x,k_w,K_x,K_w,Us0,J_uu,J_ux,J_uw,J_xx,J_xw,J_ww] = \ ppp_lin(A,B,C,D,A_u,A_w,tau,Q,R,P); A_u endfunction |
Modified mttroot/mtt/lib/control/PPP/ppp_lin_run.m from [eb275300a9] to [b26b35c63c].
︙ | ︙ | |||
115 116 117 118 119 120 121 | else I = ceil(p_c.T/p_c.delta_ol) # Number of large samples if strcmp(p_c.Method, "original") tau = [10:0.1:11]*(2/a_u); # Time horizons [k_x,k_w,K_x,K_w] = ppp_lin(A,B,C,D,p_c.A_u,p_c.A_w,tau); # Design elseif strcmp(p_c.Method, "lq") # LQ design tau = [0:0.001:1.0]*5; # Time horizons | | > | | | 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 | else I = ceil(p_c.T/p_c.delta_ol) # Number of large samples if strcmp(p_c.Method, "original") tau = [10:0.1:11]*(2/a_u); # Time horizons [k_x,k_w,K_x,K_w] = ppp_lin(A,B,C,D,p_c.A_u,p_c.A_w,tau); # Design elseif strcmp(p_c.Method, "lq") # LQ design tau = [0:0.001:1.0]*5; # Time horizons [k_x,k_w,K_x,K_w,Us0,J_uu,J_ux,J_uw,J_xx,J_xw,J_ww,A_u] \ = ppp_lin_quad (A,B,C,D,tau,p_c.Q,p_c.R); p_c.A_u = A_u else error(sprintf("Control method %s not recognised", p_c.Method)); endif ##Sanity check A_u [p_c.n_U,M_u] = size(p_c.A_u); if (p_c.n_U!=M_u) error("A_u must be square"); endif K_w,w U = K_w*w # Initial control U ## Checks [ol_zeros, ol_poles] = sys2zp(sys) cl_poles = eig(A - B*k_x) endif ## Short sample interval |
︙ | ︙ |