0001 function solution=controlfinalsol(c,m,parameters,control_types,analysis);
0002
0003
0004 numparams=size(control_types,1);
0005
0006
0007 for i=1:numparams,
0008 eval(['inputs.' control_types{i} '=parameters{' num2str(i) '};']);
0009 end
0010
0011 u_g=cielodiagnostic_core_nonlinear(m,m.params,inputs,analysis);
0012
0013
0014 indx=1:6:m.uset.gsize;indx=indx(m.tpart);
0015 indy=1:6:m.uset.gsize;indy=indy(m.tpart);
0016
0017
0018 vx=u_g(indx);
0019 vy=u_g(indy);
0020 vel=sqrt(vx.^2+vy.^2);
0021
0022 for i=1:numparams,
0023 parameter=parameters{i};parameter=parameter(indx);
0024 parameters{i}=parameter;
0025 end
0026
0027
0028 J=zeros(length(c),1);
0029 for i=2:length(c),
0030 J(i)=c(i).J;
0031 end
0032
0033
0034 solution.vx=vx;
0035 solution.vy=vy;
0036 solution.vel=vel;
0037 solution.J=J;
0038 solution.parameters=parameters;