comparison scripts/plot/meshz.m @ 7215:dd88d61d443f

[project @ 2007-11-29 16:44:45 by jwe]
author jwe
date Thu, 29 Nov 2007 16:46:40 +0000
parents a730e47fda4d
children 5389a52df87b
comparison
equal deleted inserted replaced
7214:86d0b16f2bb2 7215:dd88d61d443f
27 ## @seealso{meshgrid, mesh, contour} 27 ## @seealso{meshgrid, mesh, contour}
28 ## @end deftypefn 28 ## @end deftypefn
29 29
30 function retval = meshz (varargin) 30 function retval = meshz (varargin)
31 31
32 if (isscalar (varargin{1}) && ishandle (varargin{1})) 32 [h, varargin, nargin] = __plt_get_axis_arg__ ("meshz", varargin{:});
33 h = varargin{1};
34 if (! strcmp (get (h, "type"), "axes"))
35 error ("meshz: expecting first argument to be an axes object");
36 endif
37 oldh = gca ();
38 unwind_protect
39 axes (h);
40 tmp = __meshz__ (varargin{2:end});
41 unwind_protect_cleanup
42 axes (oldh);
43 end_unwind_protect
44 else
45 tmp = __meshz__ (varargin{:});
46 endif
47
48 if (nargout > 0)
49 retval = tmp;
50 endif
51
52 endfunction
53
54 function h = __meshz__ (varargin)
55 33
56 ioff = nargin + 1; 34 ioff = nargin + 1;
57 for i = 1 : nargin 35 for i = 1 : nargin
58 if (ischar (varargin{i})) 36 if (ischar (varargin{i}))
59 ioff = i; 37 ioff = i;
93 zref = min(z(isfinite(z))); 71 zref = min(z(isfinite(z)));
94 z = [zref .* ones(1, size(z, 2) + 2); 72 z = [zref .* ones(1, size(z, 2) + 2);
95 zref .* ones(size(z, 1), 1), z, zref .* ones(size(z, 1), 1); 73 zref .* ones(size(z, 1), 1), z, zref .* ones(size(z, 1), 1);
96 zref.* ones(1, size(z, 2) + 2)]; 74 zref.* ones(1, size(z, 2) + 2)];
97 75
98 h = mesh (x, y, z, varargin{ioff:end}); 76 oldh = gca ();
77 unwind_protect
78 axes (h);
79 tmp = mesh (x, y, z, varargin{ioff:end});
80 unwind_protect_cleanup
81 axes (oldh);
82 end_unwind_protect
83
84 if (nargout > 0)
85 retval = tmp;
86 endif
99 87
100 endfunction 88 endfunction