Changeset 18994 for issm/trunk-jpl/src/m/classes/inversion.m
- Timestamp:
- 01/07/15 08:48:32 (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/m/classes/inversion.m
r18993 r18994 136 136 md = checkfield(md,'fieldname','inversion.maxiter_per_step','size',[md.inversion.nsteps 1],'>=',0); 137 137 md = checkfield(md,'fieldname','inversion.step_threshold','size',[md.inversion.nsteps 1]); 138 md = checkfield(md,'fieldname','inversion.cost_functions','size',[1 num_costfunc],'values', [101:105 201 501:507 601:604]);138 md = checkfield(md,'fieldname','inversion.cost_functions','size',[1 num_costfunc],'values',supportedcostfunctions()); 139 139 md = checkfield(md,'fieldname','inversion.cost_functions_coefficients','size',[md.mesh.numberofvertices num_costfunc],'>=',0); 140 140 md = checkfield(md,'fieldname','inversion.gradient_scaling','size',[md.inversion.nsteps num_controls]); … … 227 227 %process cost functions 228 228 num_cost_functions=size(obj.cost_functions,2); 229 data=obj.cost_functions; 230 pos=find(obj.cost_functions==101); data(pos)=SurfaceAbsVelMisfitEnum(); 231 pos=find(obj.cost_functions==102); data(pos)=SurfaceRelVelMisfitEnum(); 232 pos=find(obj.cost_functions==103); data(pos)=SurfaceLogVelMisfitEnum(); 233 pos=find(obj.cost_functions==104); data(pos)=SurfaceLogVxVyMisfitEnum(); 234 pos=find(obj.cost_functions==105); data(pos)=SurfaceAverageVelMisfitEnum(); 235 pos=find(obj.cost_functions==201); data(pos)=ThicknessAbsMisfitEnum(); 236 pos=find(obj.cost_functions==501); data(pos)=DragCoefficientAbsGradientEnum(); 237 pos=find(obj.cost_functions==502); data(pos)=RheologyBbarAbsGradientEnum(); 238 pos=find(obj.cost_functions==503); data(pos)=ThicknessAbsGradientEnum(); 239 pos=find(obj.cost_functions==504); data(pos)=ThicknessAlongGradientEnum(); 240 pos=find(obj.cost_functions==505); data(pos)=ThicknessAcrossGradientEnum(); 241 pos=find(obj.cost_functions==506); data(pos)=BalancethicknessMisfitEnum(); 242 pos=find(obj.cost_functions==507); data(pos)=RheologyBAbsGradientEnum(); 243 pos=find(obj.cost_functions==601); data(pos)=SurfaceAbsMisfitEnum(); 229 data=marshallcostfunctions(obj.cost_functions); 244 230 WriteData(fid,'data',data,'enum',InversionCostFunctionsEnum(),'format','DoubleMat','mattype',3); 245 231 WriteData(fid,'data',num_cost_functions,'enum',InversionNumCostFunctionsEnum(),'format','Integer');
Note:
See TracChangeset
for help on using the changeset viewer.