plug

PURPOSE ^

PLUG - plugs the holes of a model field

SYNOPSIS ^

function md=plug(md,field,value)

DESCRIPTION ^

PLUG - plugs the holes of a model field

   This routine takes a model field interpolated on a mesh, and plugs the holes (made of value)
   to the nearest interpolation

   Usage:
      md=plug(md,field,value)

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

0001 function md=plug(md,field,value)
0002 %PLUG - plugs the holes of a model field
0003 %
0004 %   This routine takes a model field interpolated on a mesh, and plugs the holes (made of value)
0005 %   to the nearest interpolation
0006 %
0007 %   Usage:
0008 %      md=plug(md,field,value)
0009 
0010 %First retrieve field
0011 fieldvalues=eval(['md.' field]);
0012 
0013 if isnan(value),
0014     holevalues=find(isnan(fieldvalues));
0015 elseif isinf(value),
0016     holevalues=find(isinf(fieldvalues));
0017 else
0018     holevalues=find(fieldvalues==value);
0019 end
0020 
0021 for i=1:length(holevalues),
0022 
0023     index=holevalues(i);
0024 
0025     if ~mod(i,100),
0026         %disp(['Step ' num2str(i) '/' num2str(length(holevalues))]);
0027     end
0028 
0029     distance=sqrt( (md.x(index)-md.x).^2 + (md.y(index)-md.y).^2 );
0030     distance(holevalues)=10^10; %be sure we are not picking up the nan grids!
0031 
0032     index2=find(distance==min(distance));index2=index2(1);
0033 
0034     fieldvalues(index)=fieldvalues(index2);
0035 end
0036 
0037 %Set fieldvalues in md.field
0038 eval(['md.' field '=fieldvalues;']);

Generated on Sun 29-Mar-2009 20:22:55 by m2html © 2003