diff scripts/geometry/griddatan.m @ 6826:8618f29520c6

[project @ 2007-08-24 16:02:07 by jwe]
author jwe
date Fri, 24 Aug 2007 16:02:07 +0000
parents 9fddcc586065
children 93c65f2a5668
line wrap: on
line diff
--- a/scripts/geometry/griddatan.m	Fri Aug 24 15:36:50 2007 +0000
+++ b/scripts/geometry/griddatan.m	Fri Aug 24 16:02:07 2007 +0000
@@ -24,63 +24,62 @@
 ## The function is defined by @code{@var{y} = f (@var{x})}.
 ## The interpolation points are all @var{xi}.  
 ##
-## The interpolation method can be 'nearest' or 'linear'. If method is 
-## omitted it defaults to 'linear'.
+## The interpolation method can be @code{"nearest"} or @code{"linear"}.
+## If method is omitted it defaults to @code{"linear"}.
 ## @seealso{griddata, delaunayn}
 ## @end deftypefn
 
-function [yi] = griddatan (x,y,xi,method,varargin)
-	
+function yi = griddatan (x, y, xi, method, varargin)
+
   if (nargin == 3)
-    method="linear";
+    method = "linear";
   endif
   if (nargin < 3) 
-    print_usage();
+    print_usage ();
   endif
 
-  if (ischar(method))
-    method=tolower(method);
+  if (ischar (method))
+    method = tolower (method);
   endif
 
-  [m, n] = size(x);
-  [mi, ni] = size(xi);
+  [m, n] = size (x);
+  [mi, ni] = size (xi);
   
-  if (n != ni || size(y,1) != m || size(y,2) != 1)
+  if (n != ni || size (y, 1) != m || size (y, 2) != 1)
     error ("griddatan: dimensional mismatch");
   endif
 
   ## triangulate data
   ## tri = delaunayn(x, varargin{:});
-  tri = delaunayn(x);
+  tri = delaunayn (x);
 
-  yi = nan(mi, 1);
+  yi = nan (mi, 1);
   
-  if strcmp(method,'nearest')
+  if (strcmp (method, "nearest"))
     ## search index of nearest point
-    idx = dsearchn(x,tri,xi);
-    valid = !isnan(idx);
+    idx = dsearchn (x, tri, xi);
+    valid = !isnan (idx);
     yi(valid) = y(idx(valid));
 
-  elseif strcmp(method,'linear')
+  elseif (strcmp (method, "linear"))
     ## search for every point the enclosing triangle
-    [tri_list, bary_list] = tsearchn(x,tri,xi);
+    [tri_list, bary_list] = tsearchn (x, tri, xi);
 
     ## only keep the points within triangles.
-    valid = !isnan(tri_list);
-    tri_list = tri_list(!isnan(tri_list));
-    bary_list = bary_list(!isnan(tri_list), :);
-    nr_t = rows(tri_list);
+    valid = !isnan (tri_list);
+    tri_list = tri_list(!isnan (tri_list));
+    bary_list = bary_list(!isnan (tri_list), :);
+    nr_t = rows (tri_list);
 
     ## assign x,y for each point of simplex
-    xt =  reshape (x(tri(tri_list,:),:),[nr_t, n+1, n]);
+    xt =  reshape (x(tri(tri_list,:),:), [nr_t, n+1, n]);
     yt = y(tri(tri_list,:));
 
     ## Use barycentric coordinate of point to calculate yi
     yi(valid) = sum (y(tri(tri_list,:)) .* bary_list, 2);
 
   else
-    method
-    error("griddatan: unknown interpolation method");
+    error ("griddatan: unknown interpolation method");
   endif
 
 endfunction