/[MITgcm]/MITgcm/utils/matlab/griddata_fast.m
ViewVC logotype

Contents of /MITgcm/utils/matlab/griddata_fast.m

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.2 - (show annotations) (download)
Sat Feb 17 23:49:43 2007 UTC (17 years, 4 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint64y, checkpoint64x, checkpoint64z, checkpoint64q, checkpoint64p, checkpoint64s, checkpoint64r, checkpoint64u, checkpoint64t, checkpoint64w, checkpoint64v, checkpoint64i, checkpoint64h, checkpoint64k, checkpoint64j, checkpoint64m, checkpoint64l, checkpoint64o, checkpoint64n, checkpoint64a, checkpoint64c, checkpoint64b, checkpoint64e, checkpoint64d, checkpoint64g, checkpoint64f, checkpoint58w_post, checkpoint63p, checkpoint63q, checkpoint63r, checkpoint63s, checkpoint63l, checkpoint63m, checkpoint63n, checkpoint63o, checkpoint63h, checkpoint63i, checkpoint63j, checkpoint63k, checkpoint63d, checkpoint63e, checkpoint63f, checkpoint63g, checkpoint63a, checkpoint63b, checkpoint63c, checkpoint64, checkpoint65, checkpoint60, checkpoint61, checkpoint62, checkpoint63, checkpoint66g, checkpoint66f, checkpoint66e, checkpoint66d, checkpoint66c, checkpoint66b, checkpoint66a, checkpoint66o, checkpoint66n, checkpoint66m, checkpoint66l, checkpoint66k, checkpoint66j, checkpoint66i, checkpoint66h, checkpoint58x_post, checkpoint65z, checkpoint65x, checkpoint65y, checkpoint65r, checkpoint65s, checkpoint65p, checkpoint65q, checkpoint65v, checkpoint65w, checkpoint65t, checkpoint65u, checkpoint65j, checkpoint65k, checkpoint65h, checkpoint65i, checkpoint65n, checkpoint65o, checkpoint65l, checkpoint65m, checkpoint65b, checkpoint65c, checkpoint65a, checkpoint65f, checkpoint65g, checkpoint65d, checkpoint65e, checkpoint59q, checkpoint59p, checkpoint59r, checkpoint59e, checkpoint59d, checkpoint59g, checkpoint59f, checkpoint59a, checkpoint59c, checkpoint59b, checkpoint59m, checkpoint59l, checkpoint59o, checkpoint59n, checkpoint59i, checkpoint59h, checkpoint59k, checkpoint59j, checkpoint59, checkpoint62c, checkpoint62b, checkpoint62a, checkpoint62g, checkpoint62f, checkpoint62e, checkpoint62d, checkpoint62k, checkpoint62j, checkpoint62i, checkpoint62h, checkpoint62o, checkpoint62n, checkpoint62m, checkpoint62l, checkpoint62s, checkpoint62r, checkpoint62q, checkpoint62p, checkpoint62w, checkpoint62v, checkpoint62u, checkpoint62t, checkpoint62z, checkpoint62y, checkpoint62x, checkpoint58y_post, checkpoint61f, checkpoint61g, checkpoint61d, checkpoint61e, checkpoint61b, checkpoint61c, checkpoint61a, checkpoint61n, checkpoint61o, checkpoint61l, checkpoint61m, checkpoint61j, checkpoint61k, checkpoint61h, checkpoint61i, checkpoint61v, checkpoint61w, checkpoint61t, checkpoint61u, checkpoint61r, checkpoint61s, checkpoint61p, checkpoint61q, checkpoint61z, checkpoint61x, checkpoint61y, HEAD
Changes since 1.1: +4 -1 lines
add $Header:  $ and $Name:  & (for CVS)

1 function zi = griddata_fast(delau,z,method)
2 %GRIDDATA_FAST Data gridding and surface fitting.
3 % ZI = GRIDDATA_FAST(DEL,Z)
4 %
5 % See also GRIDDATA_PREPROCESS
6
7 % Based on
8 % Clay M. Thompson 8-21-95
9 % Copyright 1984-2001 The MathWorks, Inc.
10 % $Revision: 1.1 $ $Date: 2004/06/04 15:50:52 $
11
12 % $Header: $
13 % $Name: $
14
15 error(nargchk(2,3,nargin))
16
17 if nargin<3, method = 'linear'; end
18 if ~isstr(method),
19 error('METHOD must be one of ''linear'',''cubic'',''nearest'', or ''v4''.');
20 end
21
22
23 % Sort x and y so duplicate points can be averaged before passing to delaunay
24
25 switch lower(method),
26 case 'linear'
27 zi = linear(delau,z);
28 % case 'cubic'
29 % zi = cubic(x,y,z,xi,yi);
30 % case 'nearest'
31 % zi = nearest(x,y,z,xi,yi);
32 % case {'invdist','v4'}
33 % zi = gdatav4(x,y,z,xi,yi);
34 otherwise
35 error('Unknown method.');
36 end
37
38 if nargout<=1, xi = zi; end
39
40
41 %------------------------------------------------------------
42 function zi = linear(del,z)
43 %LINEAR Triangle-based linear interpolation
44
45 % Reference: David F. Watson, "Contouring: A guide
46 % to the analysis and display of spacial data", Pergamon, 1994.
47
48 z = z(:).'; % Treat z as a row so that code below involving
49 % z(tri) works even when tri is 1-by-3.
50 zi = sum(z(del.tri) .* del.w,2);
51
52 zi = reshape(zi,del.siz);
53
54 if ~isempty(del.out), zi(del.out) = NaN; end
55
56 %------------------------------------------------------------

  ViewVC Help
Powered by ViewVC 1.1.22