annotate scripts/plot/slice.m @ 14237:11949c9795a0

Revamp %!demos in m-files to use Octave coding conventions on spacing, etc. Add clf() to all demos using plot features to get reproducibility. Use 64 as input to all colormaps (jet (64)) to get reproducibility. * bicubic.m, cell2mat.m, celldisp.m, cplxpair.m, interp1.m, interp2.m, interpft.m, interpn.m, profile.m, profshow.m, convhull.m, delaunay.m, griddata.m, inpolygon.m, voronoi.m, autumn.m, bone.m, contrast.m, cool.m, copper.m, flag.m, gmap40.m, gray.m, hot.m, hsv.m, image.m, imshow.m, jet.m, ocean.m, pink.m, prism.m, rainbow.m, spring.m, summer.m, white.m, winter.m, condest.m, onenormest.m, axis.m, clabel.m, colorbar.m, comet.m, comet3.m, compass.m, contour.m, contour3.m, contourf.m, cylinder.m, daspect.m, ellipsoid.m, errorbar.m, ezcontour.m, ezcontourf.m, ezmesh.m, ezmeshc.m, ezplot.m, ezplot3.m, ezpolar.m, ezsurf.m, ezsurfc.m, feather.m, fill.m, fplot.m, grid.m, hold.m, isosurface.m, legend.m, loglog.m, loglogerr.m, pareto.m, patch.m, pbaspect.m, pcolor.m, pie.m, pie3.m, plot3.m, plotmatrix.m, plotyy.m, polar.m, quiver.m, quiver3.m, rectangle.m, refreshdata.m, ribbon.m, rose.m, scatter.m, scatter3.m, semilogx.m, semilogxerr.m, semilogy.m, semilogyerr.m, shading.m, slice.m, sombrero.m, stairs.m, stem.m, stem3.m, subplot.m, surf.m, surfc.m, surfl.m, surfnorm.m, text.m, title.m, trimesh.m, triplot.m, trisurf.m, uigetdir.m, uigetfile.m, uimenu.m, uiputfile.m, waitbar.m, xlim.m, ylim.m, zlim.m, mkpp.m, pchip.m, polyaffine.m, spline.m, bicgstab.m, cgs.m, gplot.m, pcg.m, pcr.m, treeplot.m, strtok.m, demo.m, example.m, rundemos.m, speed.m, test.m, calendar.m, datestr.m, datetick.m, weekday.m: Revamp %!demos to use Octave coding conventions on spacing, etc.
author Rik <octave@nomad.inbox5.com>
date Fri, 20 Jan 2012 12:59:53 -0800
parents 72c96de7a403
children c4fa5e0b6193
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
14138
72c96de7a403 maint: update copyright notices for 2012
John W. Eaton <jwe@octave.org>
parents: 14089
diff changeset
1 ## Copyright (C) 2007-2012 Kai Habel, David Bateman
7183
c0be321eb472 [project @ 2007-11-26 18:31:53 by jwe]
jwe
parents:
diff changeset
2 ##
c0be321eb472 [project @ 2007-11-26 18:31:53 by jwe]
jwe
parents:
diff changeset
3 ## This file is part of Octave.
c0be321eb472 [project @ 2007-11-26 18:31:53 by jwe]
jwe
parents:
diff changeset
4 ##
c0be321eb472 [project @ 2007-11-26 18:31:53 by jwe]
jwe
parents:
diff changeset
5 ## Octave is free software; you can redistribute it and/or modify it
c0be321eb472 [project @ 2007-11-26 18:31:53 by jwe]
jwe
parents:
diff changeset
6 ## under the terms of the GNU General Public License as published by
c0be321eb472 [project @ 2007-11-26 18:31:53 by jwe]
jwe
parents:
diff changeset
7 ## the Free Software Foundation; either version 3 of the License, or (at
c0be321eb472 [project @ 2007-11-26 18:31:53 by jwe]
jwe
parents:
diff changeset
8 ## your option) any later version.
c0be321eb472 [project @ 2007-11-26 18:31:53 by jwe]
jwe
parents:
diff changeset
9 ##
c0be321eb472 [project @ 2007-11-26 18:31:53 by jwe]
jwe
parents:
diff changeset
10 ## Octave is distributed in the hope that it will be useful, but
c0be321eb472 [project @ 2007-11-26 18:31:53 by jwe]
jwe
parents:
diff changeset
11 ## WITHOUT ANY WARRANTY; without even the implied warranty of
c0be321eb472 [project @ 2007-11-26 18:31:53 by jwe]
jwe
parents:
diff changeset
12 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
c0be321eb472 [project @ 2007-11-26 18:31:53 by jwe]
jwe
parents:
diff changeset
13 ## General Public License for more details.
c0be321eb472 [project @ 2007-11-26 18:31:53 by jwe]
jwe
parents:
diff changeset
14 ##
c0be321eb472 [project @ 2007-11-26 18:31:53 by jwe]
jwe
parents:
diff changeset
15 ## You should have received a copy of the GNU General Public License
c0be321eb472 [project @ 2007-11-26 18:31:53 by jwe]
jwe
parents:
diff changeset
16 ## along with Octave; see the file COPYING. If not, see
c0be321eb472 [project @ 2007-11-26 18:31:53 by jwe]
jwe
parents:
diff changeset
17 ## <http://www.gnu.org/licenses/>.
c0be321eb472 [project @ 2007-11-26 18:31:53 by jwe]
jwe
parents:
diff changeset
18
c0be321eb472 [project @ 2007-11-26 18:31:53 by jwe]
jwe
parents:
diff changeset
19 ## -*- texinfo -*-
10793
be55736a0783 Grammarcheck the documentation from m-files.
Rik <octave@nomad.inbox5.com>
parents: 10549
diff changeset
20 ## @deftypefn {Function File} {} slice (@var{x}, @var{y}, @var{z}, @var{v}, @var{sx}, @var{sy}, @var{sz})
7184
2f915d6cac3d [project @ 2007-11-26 18:45:02 by jwe]
jwe
parents: 7183
diff changeset
21 ## @deftypefnx {Function File} {} slice (@var{x}, @var{y}, @var{z}, @var{v}, @var{xi}, @var{yi}, @var{zi})
2f915d6cac3d [project @ 2007-11-26 18:45:02 by jwe]
jwe
parents: 7183
diff changeset
22 ## @deftypefnx {Function File} {} slice (@var{v}, @var{sx}, @var{sy}, @var{sz})
2f915d6cac3d [project @ 2007-11-26 18:45:02 by jwe]
jwe
parents: 7183
diff changeset
23 ## @deftypefnx {Function File} {} slice (@var{v}, @var{xi}, @var{yi}, @var{zi})
2f915d6cac3d [project @ 2007-11-26 18:45:02 by jwe]
jwe
parents: 7183
diff changeset
24 ## @deftypefnx {Function File} {@var{h} =} slice (@dots{})
2f915d6cac3d [project @ 2007-11-26 18:45:02 by jwe]
jwe
parents: 7183
diff changeset
25 ## @deftypefnx {Function File} {@var{h} =} slice (@dots{}, @var{method})
11587
c792872f8942 all script files: untabify and strip trailing whitespace
John W. Eaton <jwe@octave.org>
parents: 11563
diff changeset
26 ## Plot slices of 3-D data/scalar fields. Each element of the 3-dimensional
7184
2f915d6cac3d [project @ 2007-11-26 18:45:02 by jwe]
jwe
parents: 7183
diff changeset
27 ## array @var{v} represents a scalar value at a location given by the
9040
dbd0c77e575e Cleanup documentation file plot.texi
Rik <rdrider0-list@yahoo.com>
parents: 8920
diff changeset
28 ## parameters @var{x}, @var{y}, and @var{z}. The parameters @var{x},
7184
2f915d6cac3d [project @ 2007-11-26 18:45:02 by jwe]
jwe
parents: 7183
diff changeset
29 ## @var{x}, and @var{z} are either 3-dimensional arrays of the same size
9040
dbd0c77e575e Cleanup documentation file plot.texi
Rik <rdrider0-list@yahoo.com>
parents: 8920
diff changeset
30 ## as the array @var{v} in the "meshgrid" format or vectors. The
9209
923c7cb7f13f Simplify TeXinfo files by eliminating redundant @iftex followed by @tex construction.
Rik <rdrider0-list@yahoo.com>
parents: 9051
diff changeset
31 ## parameters @var{xi}, etc. respect a similar format to @var{x}, etc.,
7184
2f915d6cac3d [project @ 2007-11-26 18:45:02 by jwe]
jwe
parents: 7183
diff changeset
32 ## and they represent the points at which the array @var{vi} is
9051
1bf0ce0930be Grammar check TexInfo in all .m files
Rik <rdrider0-list@yahoo.com>
parents: 9040
diff changeset
33 ## interpolated using interp3. The vectors @var{sx}, @var{sy}, and
7184
2f915d6cac3d [project @ 2007-11-26 18:45:02 by jwe]
jwe
parents: 7183
diff changeset
34 ## @var{sz} contain points of orthogonal slices of the respective axes.
7183
c0be321eb472 [project @ 2007-11-26 18:31:53 by jwe]
jwe
parents:
diff changeset
35 ##
11587
c792872f8942 all script files: untabify and strip trailing whitespace
John W. Eaton <jwe@octave.org>
parents: 11563
diff changeset
36 ## If @var{x}, @var{y}, @var{z} are omitted, they are assumed to be
7184
2f915d6cac3d [project @ 2007-11-26 18:45:02 by jwe]
jwe
parents: 7183
diff changeset
37 ## @code{x = 1:size (@var{v}, 2)}, @code{y = 1:size (@var{v}, 1)} and
11587
c792872f8942 all script files: untabify and strip trailing whitespace
John W. Eaton <jwe@octave.org>
parents: 11563
diff changeset
38 ## @code{z = 1:size (@var{v}, 3)}.
7183
c0be321eb472 [project @ 2007-11-26 18:31:53 by jwe]
jwe
parents:
diff changeset
39 ##
c0be321eb472 [project @ 2007-11-26 18:31:53 by jwe]
jwe
parents:
diff changeset
40 ## @var{Method} is one of:
c0be321eb472 [project @ 2007-11-26 18:31:53 by jwe]
jwe
parents:
diff changeset
41 ##
11595
5ec6aa05638d Prevent doubled quotes around @table items in Info.
Rik <octave@nomad.inbox5.com>
parents: 11587
diff changeset
42 ## @table @asis
7184
2f915d6cac3d [project @ 2007-11-26 18:45:02 by jwe]
jwe
parents: 7183
diff changeset
43 ## @item "nearest"
9040
dbd0c77e575e Cleanup documentation file plot.texi
Rik <rdrider0-list@yahoo.com>
parents: 8920
diff changeset
44 ## Return the nearest neighbor.
10821
693e22af08ae Grammarcheck documentation of m-files
Rik <octave@nomad.inbox5.com>
parents: 10793
diff changeset
45 ##
7184
2f915d6cac3d [project @ 2007-11-26 18:45:02 by jwe]
jwe
parents: 7183
diff changeset
46 ## @item "linear"
9040
dbd0c77e575e Cleanup documentation file plot.texi
Rik <rdrider0-list@yahoo.com>
parents: 8920
diff changeset
47 ## Linear interpolation from nearest neighbors.
10821
693e22af08ae Grammarcheck documentation of m-files
Rik <octave@nomad.inbox5.com>
parents: 10793
diff changeset
48 ##
7184
2f915d6cac3d [project @ 2007-11-26 18:45:02 by jwe]
jwe
parents: 7183
diff changeset
49 ## @item "cubic"
9040
dbd0c77e575e Cleanup documentation file plot.texi
Rik <rdrider0-list@yahoo.com>
parents: 8920
diff changeset
50 ## Cubic interpolation from four nearest neighbors (not implemented yet).
10821
693e22af08ae Grammarcheck documentation of m-files
Rik <octave@nomad.inbox5.com>
parents: 10793
diff changeset
51 ##
7184
2f915d6cac3d [project @ 2007-11-26 18:45:02 by jwe]
jwe
parents: 7183
diff changeset
52 ## @item "spline"
2f915d6cac3d [project @ 2007-11-26 18:45:02 by jwe]
jwe
parents: 7183
diff changeset
53 ## Cubic spline interpolation---smooth first and second derivatives
7183
c0be321eb472 [project @ 2007-11-26 18:31:53 by jwe]
jwe
parents:
diff changeset
54 ## throughout the curve.
c0be321eb472 [project @ 2007-11-26 18:31:53 by jwe]
jwe
parents:
diff changeset
55 ## @end table
c0be321eb472 [project @ 2007-11-26 18:31:53 by jwe]
jwe
parents:
diff changeset
56 ##
7184
2f915d6cac3d [project @ 2007-11-26 18:45:02 by jwe]
jwe
parents: 7183
diff changeset
57 ## The default method is @code{"linear"}.
14001
5f0bb45e615c doc: Update documentation for functions returning a graphics handle h (Bug #34761)
Rik <octave@nomad.inbox5.com>
parents: 11595
diff changeset
58 ##
5f0bb45e615c doc: Update documentation for functions returning a graphics handle h (Bug #34761)
Rik <octave@nomad.inbox5.com>
parents: 11595
diff changeset
59 ## The optional return value @var{h} is a graphics handle to the created
5f0bb45e615c doc: Update documentation for functions returning a graphics handle h (Bug #34761)
Rik <octave@nomad.inbox5.com>
parents: 11595
diff changeset
60 ## surface object.
7183
c0be321eb472 [project @ 2007-11-26 18:31:53 by jwe]
jwe
parents:
diff changeset
61 ##
c0be321eb472 [project @ 2007-11-26 18:31:53 by jwe]
jwe
parents:
diff changeset
62 ## Examples:
10821
693e22af08ae Grammarcheck documentation of m-files
Rik <octave@nomad.inbox5.com>
parents: 10793
diff changeset
63 ##
7183
c0be321eb472 [project @ 2007-11-26 18:31:53 by jwe]
jwe
parents:
diff changeset
64 ## @example
9051
1bf0ce0930be Grammar check TexInfo in all .m files
Rik <rdrider0-list@yahoo.com>
parents: 9040
diff changeset
65 ## @group
7184
2f915d6cac3d [project @ 2007-11-26 18:45:02 by jwe]
jwe
parents: 7183
diff changeset
66 ## [x, y, z] = meshgrid (linspace (-8, 8, 32));
2f915d6cac3d [project @ 2007-11-26 18:45:02 by jwe]
jwe
parents: 7183
diff changeset
67 ## v = sin (sqrt (x.^2 + y.^2 + z.^2)) ./ (sqrt (x.^2 + y.^2 + z.^2));
2f915d6cac3d [project @ 2007-11-26 18:45:02 by jwe]
jwe
parents: 7183
diff changeset
68 ## slice (x, y, z, v, [], 0, []);
2f915d6cac3d [project @ 2007-11-26 18:45:02 by jwe]
jwe
parents: 7183
diff changeset
69 ## [xi, yi] = meshgrid (linspace (-7, 7));
2f915d6cac3d [project @ 2007-11-26 18:45:02 by jwe]
jwe
parents: 7183
diff changeset
70 ## zi = xi + yi;
2f915d6cac3d [project @ 2007-11-26 18:45:02 by jwe]
jwe
parents: 7183
diff changeset
71 ## slice (x, y, z, v, xi, yi, zi);
9051
1bf0ce0930be Grammar check TexInfo in all .m files
Rik <rdrider0-list@yahoo.com>
parents: 9040
diff changeset
72 ## @end group
7183
c0be321eb472 [project @ 2007-11-26 18:31:53 by jwe]
jwe
parents:
diff changeset
73 ## @end example
c0be321eb472 [project @ 2007-11-26 18:31:53 by jwe]
jwe
parents:
diff changeset
74 ## @seealso{interp3, surface, pcolor}
c0be321eb472 [project @ 2007-11-26 18:31:53 by jwe]
jwe
parents:
diff changeset
75 ## @end deftypefn
c0be321eb472 [project @ 2007-11-26 18:31:53 by jwe]
jwe
parents:
diff changeset
76
7184
2f915d6cac3d [project @ 2007-11-26 18:45:02 by jwe]
jwe
parents: 7183
diff changeset
77 ## Author: Kai Habel <kai.habel@gmx.de>
7183
c0be321eb472 [project @ 2007-11-26 18:31:53 by jwe]
jwe
parents:
diff changeset
78
7184
2f915d6cac3d [project @ 2007-11-26 18:45:02 by jwe]
jwe
parents: 7183
diff changeset
79 function h = slice (varargin)
7183
c0be321eb472 [project @ 2007-11-26 18:31:53 by jwe]
jwe
parents:
diff changeset
80
c0be321eb472 [project @ 2007-11-26 18:31:53 by jwe]
jwe
parents:
diff changeset
81 method = "linear";
c0be321eb472 [project @ 2007-11-26 18:31:53 by jwe]
jwe
parents:
diff changeset
82 nargs = nargin;
c0be321eb472 [project @ 2007-11-26 18:31:53 by jwe]
jwe
parents:
diff changeset
83
c0be321eb472 [project @ 2007-11-26 18:31:53 by jwe]
jwe
parents:
diff changeset
84 if (ischar (varargin{end}))
c0be321eb472 [project @ 2007-11-26 18:31:53 by jwe]
jwe
parents:
diff changeset
85 method = varargin{end};
c0be321eb472 [project @ 2007-11-26 18:31:53 by jwe]
jwe
parents:
diff changeset
86 nargs -= 1;
c0be321eb472 [project @ 2007-11-26 18:31:53 by jwe]
jwe
parents:
diff changeset
87 endif
c0be321eb472 [project @ 2007-11-26 18:31:53 by jwe]
jwe
parents:
diff changeset
88
c0be321eb472 [project @ 2007-11-26 18:31:53 by jwe]
jwe
parents:
diff changeset
89 if (nargs == 4)
7184
2f915d6cac3d [project @ 2007-11-26 18:45:02 by jwe]
jwe
parents: 7183
diff changeset
90 v = varargin{1};
2f915d6cac3d [project @ 2007-11-26 18:45:02 by jwe]
jwe
parents: 7183
diff changeset
91 if (ndims (v) != 3)
7183
c0be321eb472 [project @ 2007-11-26 18:31:53 by jwe]
jwe
parents:
diff changeset
92 error ("slice: expect 3-dimensional array of values");
c0be321eb472 [project @ 2007-11-26 18:31:53 by jwe]
jwe
parents:
diff changeset
93 endif
7184
2f915d6cac3d [project @ 2007-11-26 18:45:02 by jwe]
jwe
parents: 7183
diff changeset
94 [nx, ny, nz] = size (v);
2f915d6cac3d [project @ 2007-11-26 18:45:02 by jwe]
jwe
parents: 7183
diff changeset
95 [x, y, z] = meshgrid (1:nx, 1:ny, 1:nz);
7183
c0be321eb472 [project @ 2007-11-26 18:31:53 by jwe]
jwe
parents:
diff changeset
96 sx = varargin{2};
c0be321eb472 [project @ 2007-11-26 18:31:53 by jwe]
jwe
parents:
diff changeset
97 sy = varargin{3};
c0be321eb472 [project @ 2007-11-26 18:31:53 by jwe]
jwe
parents:
diff changeset
98 sz = varargin{4};
c0be321eb472 [project @ 2007-11-26 18:31:53 by jwe]
jwe
parents:
diff changeset
99 elseif (nargs == 7)
7184
2f915d6cac3d [project @ 2007-11-26 18:45:02 by jwe]
jwe
parents: 7183
diff changeset
100 v = varargin{4};
2f915d6cac3d [project @ 2007-11-26 18:45:02 by jwe]
jwe
parents: 7183
diff changeset
101 if (ndims (v) != 3)
7183
c0be321eb472 [project @ 2007-11-26 18:31:53 by jwe]
jwe
parents:
diff changeset
102 error ("slice: expect 3-dimensional array of values");
c0be321eb472 [project @ 2007-11-26 18:31:53 by jwe]
jwe
parents:
diff changeset
103 endif
7184
2f915d6cac3d [project @ 2007-11-26 18:45:02 by jwe]
jwe
parents: 7183
diff changeset
104 x = varargin{1};
2f915d6cac3d [project @ 2007-11-26 18:45:02 by jwe]
jwe
parents: 7183
diff changeset
105 y = varargin{2};
2f915d6cac3d [project @ 2007-11-26 18:45:02 by jwe]
jwe
parents: 7183
diff changeset
106 z = varargin{3};
2f915d6cac3d [project @ 2007-11-26 18:45:02 by jwe]
jwe
parents: 7183
diff changeset
107 if (all ([isvector(x), isvector(y), isvector(z)]))
2f915d6cac3d [project @ 2007-11-26 18:45:02 by jwe]
jwe
parents: 7183
diff changeset
108 [x, y, z] = meshgrid (x, y, z);
7292
5e90111a28b3 [project @ 2007-12-11 18:13:34 by jwe]
jwe
parents: 7245
diff changeset
109 elseif (ndims (x) == 3 && size_equal (x, y, z))
7184
2f915d6cac3d [project @ 2007-11-26 18:45:02 by jwe]
jwe
parents: 7183
diff changeset
110 ## Do nothing.
7183
c0be321eb472 [project @ 2007-11-26 18:31:53 by jwe]
jwe
parents:
diff changeset
111 else
8664
e07e93c04080 style fixes
John W. Eaton <jwe@octave.org>
parents: 7292
diff changeset
112 error ("slice: X, Y, Z size mismatch");
7183
c0be321eb472 [project @ 2007-11-26 18:31:53 by jwe]
jwe
parents:
diff changeset
113 endif
c0be321eb472 [project @ 2007-11-26 18:31:53 by jwe]
jwe
parents:
diff changeset
114 sx = varargin{5};
c0be321eb472 [project @ 2007-11-26 18:31:53 by jwe]
jwe
parents:
diff changeset
115 sy = varargin{6};
c0be321eb472 [project @ 2007-11-26 18:31:53 by jwe]
jwe
parents:
diff changeset
116 sz = varargin{7};
c0be321eb472 [project @ 2007-11-26 18:31:53 by jwe]
jwe
parents:
diff changeset
117 else
7184
2f915d6cac3d [project @ 2007-11-26 18:45:02 by jwe]
jwe
parents: 7183
diff changeset
118 print_usage ();
7183
c0be321eb472 [project @ 2007-11-26 18:31:53 by jwe]
jwe
parents:
diff changeset
119 endif
c0be321eb472 [project @ 2007-11-26 18:31:53 by jwe]
jwe
parents:
diff changeset
120
7184
2f915d6cac3d [project @ 2007-11-26 18:45:02 by jwe]
jwe
parents: 7183
diff changeset
121 if (any ([isvector(sx), isvector(sy), isvector(sz)]))
2f915d6cac3d [project @ 2007-11-26 18:45:02 by jwe]
jwe
parents: 7183
diff changeset
122 have_sval = true;
7292
5e90111a28b3 [project @ 2007-12-11 18:13:34 by jwe]
jwe
parents: 7245
diff changeset
123 elseif (ndims(sx) == 2 && size_equal (sx, sy, sz))
7184
2f915d6cac3d [project @ 2007-11-26 18:45:02 by jwe]
jwe
parents: 7183
diff changeset
124 have_sval = false;
7183
c0be321eb472 [project @ 2007-11-26 18:31:53 by jwe]
jwe
parents:
diff changeset
125 else
7184
2f915d6cac3d [project @ 2007-11-26 18:45:02 by jwe]
jwe
parents: 7183
diff changeset
126 error ("slice: dimensional mismatch for (XI, YI, ZI) or (SX, SY, SZ)");
7183
c0be321eb472 [project @ 2007-11-26 18:31:53 by jwe]
jwe
parents:
diff changeset
127 endif
c0be321eb472 [project @ 2007-11-26 18:31:53 by jwe]
jwe
parents:
diff changeset
128
c0be321eb472 [project @ 2007-11-26 18:31:53 by jwe]
jwe
parents:
diff changeset
129 newplot ();
7184
2f915d6cac3d [project @ 2007-11-26 18:45:02 by jwe]
jwe
parents: 7183
diff changeset
130 ax = gca ();
7183
c0be321eb472 [project @ 2007-11-26 18:31:53 by jwe]
jwe
parents:
diff changeset
131 sidx = 1;
7184
2f915d6cac3d [project @ 2007-11-26 18:45:02 by jwe]
jwe
parents: 7183
diff changeset
132 maxv = max (v(:));
2f915d6cac3d [project @ 2007-11-26 18:45:02 by jwe]
jwe
parents: 7183
diff changeset
133 minv = min (v(:));
2f915d6cac3d [project @ 2007-11-26 18:45:02 by jwe]
jwe
parents: 7183
diff changeset
134 set (ax, "clim", [minv, maxv]);
7183
c0be321eb472 [project @ 2007-11-26 18:31:53 by jwe]
jwe
parents:
diff changeset
135
c0be321eb472 [project @ 2007-11-26 18:31:53 by jwe]
jwe
parents:
diff changeset
136 if (have_sval)
7184
2f915d6cac3d [project @ 2007-11-26 18:45:02 by jwe]
jwe
parents: 7183
diff changeset
137 ns = length (sx) + length (sy) + length (sz);
7183
c0be321eb472 [project @ 2007-11-26 18:31:53 by jwe]
jwe
parents:
diff changeset
138 hs = zeros(ns,1);
7184
2f915d6cac3d [project @ 2007-11-26 18:45:02 by jwe]
jwe
parents: 7183
diff changeset
139 [ny, nx, nz] = size (v);
7183
c0be321eb472 [project @ 2007-11-26 18:31:53 by jwe]
jwe
parents:
diff changeset
140 if (length(sz) > 0)
7184
2f915d6cac3d [project @ 2007-11-26 18:45:02 by jwe]
jwe
parents: 7183
diff changeset
141 for i = 1:length(sz)
2f915d6cac3d [project @ 2007-11-26 18:45:02 by jwe]
jwe
parents: 7183
diff changeset
142 [xi, yi, zi] = meshgrid (squeeze (x(1,:,1)),
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 9209
diff changeset
143 squeeze (y(:,1,1)), sz(i));
7184
2f915d6cac3d [project @ 2007-11-26 18:45:02 by jwe]
jwe
parents: 7183
diff changeset
144 vz = squeeze (interp3 (x, y, z, v, xi, yi, zi, method));
2f915d6cac3d [project @ 2007-11-26 18:45:02 by jwe]
jwe
parents: 7183
diff changeset
145 tmp(sidx++) = surface (xi, yi, sz(i) * ones (size (yi)), vz);
7183
c0be321eb472 [project @ 2007-11-26 18:31:53 by jwe]
jwe
parents:
diff changeset
146 endfor
c0be321eb472 [project @ 2007-11-26 18:31:53 by jwe]
jwe
parents:
diff changeset
147 endif
c0be321eb472 [project @ 2007-11-26 18:31:53 by jwe]
jwe
parents:
diff changeset
148
7184
2f915d6cac3d [project @ 2007-11-26 18:45:02 by jwe]
jwe
parents: 7183
diff changeset
149 if (length (sy) > 0)
2f915d6cac3d [project @ 2007-11-26 18:45:02 by jwe]
jwe
parents: 7183
diff changeset
150 for i = length(sy):-1:1
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 9209
diff changeset
151 [xi, yi, zi] = meshgrid (squeeze (x(1,:,1)), sy(i), squeeze (z(1,1,:)));
7184
2f915d6cac3d [project @ 2007-11-26 18:45:02 by jwe]
jwe
parents: 7183
diff changeset
152 vy = squeeze (interp3 (x, y, z, v, xi, yi, zi, method));
2f915d6cac3d [project @ 2007-11-26 18:45:02 by jwe]
jwe
parents: 7183
diff changeset
153 tmp(sidx++) = surface (squeeze (xi),
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 9209
diff changeset
154 squeeze (sy(i) * ones (size (zi))),
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 9209
diff changeset
155 squeeze (zi), vy);
7183
c0be321eb472 [project @ 2007-11-26 18:31:53 by jwe]
jwe
parents:
diff changeset
156 endfor
c0be321eb472 [project @ 2007-11-26 18:31:53 by jwe]
jwe
parents:
diff changeset
157 endif
c0be321eb472 [project @ 2007-11-26 18:31:53 by jwe]
jwe
parents:
diff changeset
158
7184
2f915d6cac3d [project @ 2007-11-26 18:45:02 by jwe]
jwe
parents: 7183
diff changeset
159 if (length (sx) > 0)
2f915d6cac3d [project @ 2007-11-26 18:45:02 by jwe]
jwe
parents: 7183
diff changeset
160 for i = length(sx):-1:1
2f915d6cac3d [project @ 2007-11-26 18:45:02 by jwe]
jwe
parents: 7183
diff changeset
161 [xi, yi, zi] = meshgrid (sx(i), squeeze (y(:,1,1)), squeeze (z(1,1,:)));
2f915d6cac3d [project @ 2007-11-26 18:45:02 by jwe]
jwe
parents: 7183
diff changeset
162 vx = squeeze (interp3 (x, y, z, v, xi, yi, zi, method));
2f915d6cac3d [project @ 2007-11-26 18:45:02 by jwe]
jwe
parents: 7183
diff changeset
163 tmp(sidx++) = surface (squeeze (sx(i) * ones (size (zi))),
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 9209
diff changeset
164 squeeze (yi), squeeze(zi), vx);
7183
c0be321eb472 [project @ 2007-11-26 18:31:53 by jwe]
jwe
parents:
diff changeset
165 endfor
c0be321eb472 [project @ 2007-11-26 18:31:53 by jwe]
jwe
parents:
diff changeset
166 endif
c0be321eb472 [project @ 2007-11-26 18:31:53 by jwe]
jwe
parents:
diff changeset
167 else
7184
2f915d6cac3d [project @ 2007-11-26 18:45:02 by jwe]
jwe
parents: 7183
diff changeset
168 vi = interp3 (x, y, z, v, sx, sy, sz);
7292
5e90111a28b3 [project @ 2007-12-11 18:13:34 by jwe]
jwe
parents: 7245
diff changeset
169 tmp = surface (sx, sy, sz, vi);
7183
c0be321eb472 [project @ 2007-11-26 18:31:53 by jwe]
jwe
parents:
diff changeset
170 endif
c0be321eb472 [project @ 2007-11-26 18:31:53 by jwe]
jwe
parents:
diff changeset
171
c0be321eb472 [project @ 2007-11-26 18:31:53 by jwe]
jwe
parents:
diff changeset
172 if (! ishold ())
7292
5e90111a28b3 [project @ 2007-12-11 18:13:34 by jwe]
jwe
parents: 7245
diff changeset
173 set (ax, "view", [-37.5, 30.0], "box", "off", "xgrid", "on",
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 9209
diff changeset
174 "ygrid", "on", "zgrid", "on");
7183
c0be321eb472 [project @ 2007-11-26 18:31:53 by jwe]
jwe
parents:
diff changeset
175 endif
c0be321eb472 [project @ 2007-11-26 18:31:53 by jwe]
jwe
parents:
diff changeset
176
c0be321eb472 [project @ 2007-11-26 18:31:53 by jwe]
jwe
parents:
diff changeset
177 if (nargout > 0)
c0be321eb472 [project @ 2007-11-26 18:31:53 by jwe]
jwe
parents:
diff changeset
178 h = tmp;
c0be321eb472 [project @ 2007-11-26 18:31:53 by jwe]
jwe
parents:
diff changeset
179 endif
c0be321eb472 [project @ 2007-11-26 18:31:53 by jwe]
jwe
parents:
diff changeset
180
7184
2f915d6cac3d [project @ 2007-11-26 18:45:02 by jwe]
jwe
parents: 7183
diff changeset
181 endfunction
7245
d65670971cbc [project @ 2007-12-04 03:03:54 by jwe]
jwe
parents: 7184
diff changeset
182
14001
5f0bb45e615c doc: Update documentation for functions returning a graphics handle h (Bug #34761)
Rik <octave@nomad.inbox5.com>
parents: 11595
diff changeset
183
7245
d65670971cbc [project @ 2007-12-04 03:03:54 by jwe]
jwe
parents: 7184
diff changeset
184 %!demo
14237
11949c9795a0 Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
185 %! clf;
7245
d65670971cbc [project @ 2007-12-04 03:03:54 by jwe]
jwe
parents: 7184
diff changeset
186 %! [x, y, z] = meshgrid (linspace (-8, 8, 32));
d65670971cbc [project @ 2007-12-04 03:03:54 by jwe]
jwe
parents: 7184
diff changeset
187 %! v = sin (sqrt (x.^2 + y.^2 + z.^2)) ./ (sqrt (x.^2 + y.^2 + z.^2));
d65670971cbc [project @ 2007-12-04 03:03:54 by jwe]
jwe
parents: 7184
diff changeset
188 %! slice (x, y, z, v, [], 0, []);
14001
5f0bb45e615c doc: Update documentation for functions returning a graphics handle h (Bug #34761)
Rik <octave@nomad.inbox5.com>
parents: 11595
diff changeset
189
5f0bb45e615c doc: Update documentation for functions returning a graphics handle h (Bug #34761)
Rik <octave@nomad.inbox5.com>
parents: 11595
diff changeset
190 %!demo
14237
11949c9795a0 Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
191 %! clf;
14086
41511cce0488 test: Fix 2nd demo for slice() (bug #35143)
Rik <octave@nomad.inbox5.com>
parents: 14001
diff changeset
192 %! [x, y, z] = meshgrid (linspace (-8, 8, 32));
41511cce0488 test: Fix 2nd demo for slice() (bug #35143)
Rik <octave@nomad.inbox5.com>
parents: 14001
diff changeset
193 %! v = sin (sqrt (x.^2 + y.^2 + z.^2)) ./ (sqrt (x.^2 + y.^2 + z.^2));
7245
d65670971cbc [project @ 2007-12-04 03:03:54 by jwe]
jwe
parents: 7184
diff changeset
194 %! [xi, yi] = meshgrid (linspace (-7, 7));
d65670971cbc [project @ 2007-12-04 03:03:54 by jwe]
jwe
parents: 7184
diff changeset
195 %! zi = xi + yi;
d65670971cbc [project @ 2007-12-04 03:03:54 by jwe]
jwe
parents: 7184
diff changeset
196 %! slice (x, y, z, v, xi, yi, zi);
14001
5f0bb45e615c doc: Update documentation for functions returning a graphics handle h (Bug #34761)
Rik <octave@nomad.inbox5.com>
parents: 11595
diff changeset
197