source: issm/trunk/src/m/solutions/cielo/objectivefunctionC.m@ 254

Last change on this file since 254 was 254, checked in by Mathieu Morlighem, 16 years ago

Some fixing (velocity needed in input before a diagnostic_core_nonlinear, initialization of inputs,...)

File size: 828 bytes
Line 
1function J =objectivefunctionC(search_scalar,m,p_g,u_g_obs,grad_g,n);
2
3%recover some parameters
4optscal=m.parameters.optscal(n);
5fit=m.parameters.fit(n);
6control_type=m.parameters.control_type;
7
8%Update along gradient using scalar supplied by fmincon optimization routine
9parameter=p_g+search_scalar*optscal*grad_g;
10
11%Plug parameter into inputs
12inputs=parameterinputs;
13inputs=add(inputs,'velocity',m.parameters.u_g,'doublevec',3,m.parameters.numberofnodes);
14inputs=add(inputs,m.parameters.control_type,parameter,'doublevec',2,m.parameters.numberofnodes);
15
16%Run diagnostic with updated parameters.
17u_g=diagnostic_core_nonlinear(m,inputs);
18
19%Compute misfit for this velocity field.
20inputs=add(inputs,'fit',m.parameters.fit(n),'double');
21J=Misfit(m.elements,m.nodes,m.loads,m.materials,m.parameters, u_g, u_g_obs,inputs);
Note: See TracBrowser for help on using the repository browser.