Overview
Comment: | More parameters in p_c and p_o |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | origin/master | trunk |
Files: | files | file ages | folders |
SHA3-256: |
a3e687371899578fd20e7031a470470e |
User & Date: | gawthrop@users.sourceforge.net on 2003-11-02 21:21:51 |
Other Links: | branch diff | manifest | tags |
Context
2003-11-02
| ||
23:34:57 | Split up outtput into controlled and constrained check-in: d15ce2265b user: gawthrop@users.sourceforge.net tags: origin/master, trunk | |
21:21:51 | More parameters in p_c and p_o check-in: a3e6873718 user: gawthrop@users.sourceforge.net tags: origin/master, trunk | |
2003-10-28
| ||
21:31:24 | Don't default R if already set! check-in: 5ef421790a user: gawthrop@users.sourceforge.net tags: origin/master, trunk | |
Changes
Modified mttroot/mtt/lib/control/PPP/ppp_lin_run.m from [9de40a6260] to [1a9ee50b74].
︙ | ︙ | |||
54 55 56 57 58 59 60 61 62 63 64 65 66 67 | if !struct_contains(p_c,"delta_ol") p_c.delta_ol = 0.5; # OL sample interval endif if !struct_contains(p_c,"T") p_c.T = 10; # Last time point. endif if !struct_contains(p_c,"augment") p_c.augment = 0; # Augment basis funs with constant endif if !struct_contains(p_c,"integrate") p_c.integrate = 0; | > > > > | 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 | if !struct_contains(p_c,"delta_ol") p_c.delta_ol = 0.5; # OL sample interval endif if !struct_contains(p_c,"T") p_c.T = 10; # Last time point. endif if !struct_contains(p_c,"Iterations") p_c.Iterations = 5; # Number of interations, total =T*Iterations endif if !struct_contains(p_c,"augment") p_c.augment = 0; # Augment basis funs with constant endif if !struct_contains(p_c,"integrate") p_c.integrate = 0; |
︙ | ︙ | |||
175 176 177 178 179 180 181 | [ol_zeros, ol_poles] = sys2zp(sys) cl_poles = eig(A - B*k_x) t_max = 1/min(abs(cl_poles)) t_min = 1/max(abs(cl_poles)) endif ## Initial control U | | | | 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 | [ol_zeros, ol_poles] = sys2zp(sys) cl_poles = eig(A - B*k_x) t_max = 1/min(abs(cl_poles)) t_min = 1/max(abs(cl_poles)) endif ## Initial control U U = zeros(p_c.n_U,1) ## Short sample interval dt = p_c.delta_ol/p_c.N; ## Observer design G = eye(n_x); # State noise gain sigma_x = eye(n_x); # State noise variance Sigma = p_o.sigma*eye(n_y) # Measurement noise variance if strcmp(p_o.method, "intermittent") Ad = expm(A*p_c.delta_ol); # Discrete-time transition matrix if (ControlType==2) # [L, M, P, obs_poles] = dlqe(Ad,G,C,sigma_x,Sigma); else L = zeros(n_x,n_y); |
︙ | ︙ | |||
232 233 234 235 236 237 238 | u = []; t = []; y_e = []; t_e = []; e_e = []; tick = time; i=0; | > | | 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 | u = []; t = []; y_e = []; t_e = []; e_e = []; tick = time; i=0; for j=1:p_c.Iterations for k=1:I tim=time; # Timing i++; if Simulate # Exact simulation t_sim = [1:p_c.N]*dt; # Simulation time points [yi,ui,xsi] = ppp_ystar(A,B,C,D,x,p_c.A_u,U,t_sim); # Simulate x = xsi(:,p_c.N); # Current state (for next time) |
︙ | ︙ | |||
293 294 295 296 297 298 299 | y = [y;yi']; u = [u;ui']; else t = [t;t_i]; y = [y;y_i']; u = [u;u_i']; endif | < | 298 299 300 301 302 303 304 305 306 307 308 309 310 311 | y = [y;yi']; u = [u;ui']; else t = [t;t_i]; y = [y;y_i']; u = [u;u_i']; endif if strcmp(p_o.method, "intermittent") y_e = [y_e; y_new']; e_e = [e_e; e_est']; t_e = [t_e; t_i]; endif if !Simulate |
︙ | ︙ |