source:
issm/oecreview/Archive/16554-17801/ISSM-17146-17147.diff@
17802
Last change on this file since 17802 was 17802, checked in by , 11 years ago | |
---|---|
File size: 2.4 KB |
-
../trunk-jpl/src/m/inversions/misfit.m
1 function J=misfit(md)2 %MISFIT - compute misfit3 %4 % Usage:5 % J=misfit(md)6 %7 % Example:8 % J=misfit(md)9 %10 11 if md.mesh.dimension==2,12 elements=md.mesh.elements;13 x=md.mesh.x;14 y=md.mesh.y;15 %vx=md.initialization.vx;16 %vy=md.initialization.vy;17 vx=md.results.StressbalanceSolution.Vx;18 vy=md.results.StressbalanceSolution.Vy;19 vx_obs=md.inversion.vx_obs;20 vy_obs=md.inversion.vy_obs;21 else22 elements=md.mesh.elements2d;23 x=md.mesh.x2d;24 y=md.mesh.y2d;25 vx=project2d(md,md.initialization.vx,md.mesh.numberoflayers);26 vy=project2d(md,md.initialization.vy,md.mesh.numberoflayers);27 vx_obs=project2d(md,md.inversion.vx_obs,md.mesh.numberoflayers);28 vy_obs=project2d(md,md.inversion.vy_obs,md.mesh.numberoflayers);29 end30 31 %compute areas;32 areas=GetAreas(elements,x,y);33 34 %compute delta v on elements35 deltav=1/2*( (vx-vx_obs).^2+(vy-vy_obs).^2)/md.constants.yts^2;36 deltav_elem=deltav(elements)*[1;1;1]/3;37 38 %compute misfit39 J=sum(deltav_elem.*areas); -
../trunk-jpl/src/m/inversions/velocitymisfit.m
1 function J=misfit(md) 2 %MISFIT - compute misfit 3 % 4 % Usage: 5 % J=misfit(md) 6 % 7 % Example: 8 % J=misfit(md) 9 % 10 11 if md.mesh.dimension==2, 12 elements=md.mesh.elements; 13 x=md.mesh.x; 14 y=md.mesh.y; 15 %vx=md.initialization.vx; 16 %vy=md.initialization.vy; 17 vx=md.results.StressbalanceSolution.Vx; 18 vy=md.results.StressbalanceSolution.Vy; 19 vx_obs=md.inversion.vx_obs; 20 vy_obs=md.inversion.vy_obs; 21 else 22 elements=md.mesh.elements2d; 23 x=md.mesh.x2d; 24 y=md.mesh.y2d; 25 vx=project2d(md,md.initialization.vx,md.mesh.numberoflayers); 26 vy=project2d(md,md.initialization.vy,md.mesh.numberoflayers); 27 vx_obs=project2d(md,md.inversion.vx_obs,md.mesh.numberoflayers); 28 vy_obs=project2d(md,md.inversion.vy_obs,md.mesh.numberoflayers); 29 end 30 31 %compute areas; 32 areas=GetAreas(elements,x,y); 33 34 %compute delta v on elements 35 deltav=1/2*( (vx-vx_obs).^2+(vy-vy_obs).^2)/md.constants.yts^2; 36 deltav_elem=deltav(elements)*[1;1;1]/3; 37 38 %compute misfit 39 J=sum(deltav_elem.*areas);
Note:
See TracBrowser
for help on using the repository browser.