annotate scripts/general/del2.m @ 31253:a40c0b7aa376

maint: changes to follow Octave coding conventions. * NEWS.8.md: Wrap lines to 72 chars. * LSODE-opts.in: Use two spaces after sentence ending period. * LSODE.cc: Use minimum of two spaces between code and start of comment. * MemoizedFunction.m: Change copyright date to 2022 since this is the year it was accepted into core. Don't wrap error() lines to 80 chars. Use newlines to improve readability of switch statements. Use minimum of two spaces between code and start of comment. * del2.m, integral.m, interp1.m, interp2.m, griddata.m, inpolygon.m, waitbar.m, cubehelix.m, ind2x.m, importdata.m, textread.m, logm.m, lighting.m, shading.m, xticklabels.m, yticklabels.m, zticklabels.m, colorbar.m, meshc.m, print.m, __gnuplot_draw_axes__.m, struct2hdl.m, ppval.m, ismember.m, iqr.m: Use a space between comment character '#' and start of comment. Use hyphen for adjectives describing dimensions such as "1-D". * vectorize.m, ode23s.m: Use is_function_handle() instead of "isa (x, "function_handle")" for clarity and performance. * clearAllMemoizedCaches.m: Change copyright date to 2022 since this is the year it was accepted into core. Remove input validation which is done by interpreter. Use two newlines between end of code and start of BIST tests. * memoize.m: Change copyright date to 2022 since this is the year it was accepted into core. Re-wrap documentation to 80 chars. Use is_function_handle() instead of "isa (x, "function_handle")" for clarity and performance. Use two newlines between end of code and start of BIST tests. Use semicolon for assert statements within %!test block. Re-write BIST tests for input validation. * __memoize__.m: Change copyright date to 2022 since this is the year it was accepted into core. Use spaces in for statements to improve readability. * unique.m: Add FIXME note to commented BIST test * dec2bin.m: Remove stray newline at end of file. * triplequad.m: Reduce doubly-commented BIST syntax using "#%!#" to "#%!". * delaunayn.m: Use input variable names in error() statements. Use minimum of two spaces between code and start of comment. Use hyphen for describing dimensions. Use two newlines between end of code and start of BIST tests. Update BIST tests to pass.
author Rik <rik@octave.org>
date Mon, 03 Oct 2022 18:06:55 -0700
parents 796f54d4ddbf
children 597f3ee61a48
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
27923
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
1 ########################################################################
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
2 ##
30564
796f54d4ddbf update Octave Project Developers copyright for the new year
John W. Eaton <jwe@octave.org>
parents: 29359
diff changeset
3 ## Copyright (C) 2000-2022 The Octave Project Developers
27918
b442ec6dda5c use centralized file for copyright info for individual contributors
John W. Eaton <jwe@octave.org>
parents: 26376
diff changeset
4 ##
27923
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
5 ## See the file COPYRIGHT.md in the top-level directory of this
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
6 ## distribution or <https://octave.org/copyright/>.
6788
c81a0f3f5a82 [project @ 2007-07-23 22:05:29 by dbateman]
dbateman
parents:
diff changeset
7 ##
c81a0f3f5a82 [project @ 2007-07-23 22:05:29 by dbateman]
dbateman
parents:
diff changeset
8 ## This file is part of Octave.
c81a0f3f5a82 [project @ 2007-07-23 22:05:29 by dbateman]
dbateman
parents:
diff changeset
9 ##
24534
194eb4bd202b maint: Update punctuation for GPL v3 license text.
Rik <rik@octave.org>
parents: 23946
diff changeset
10 ## Octave is free software: you can redistribute it and/or modify it
6788
c81a0f3f5a82 [project @ 2007-07-23 22:05:29 by dbateman]
dbateman
parents:
diff changeset
11 ## under the terms of the GNU General Public License as published by
24534
194eb4bd202b maint: Update punctuation for GPL v3 license text.
Rik <rik@octave.org>
parents: 23946
diff changeset
12 ## the Free Software Foundation, either version 3 of the License, or
22755
3a2b891d0b33 maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents: 22323
diff changeset
13 ## (at your option) any later version.
6788
c81a0f3f5a82 [project @ 2007-07-23 22:05:29 by dbateman]
dbateman
parents:
diff changeset
14 ##
c81a0f3f5a82 [project @ 2007-07-23 22:05:29 by dbateman]
dbateman
parents:
diff changeset
15 ## Octave is distributed in the hope that it will be useful, but
c81a0f3f5a82 [project @ 2007-07-23 22:05:29 by dbateman]
dbateman
parents:
diff changeset
16 ## WITHOUT ANY WARRANTY; without even the implied warranty of
22755
3a2b891d0b33 maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents: 22323
diff changeset
17 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3a2b891d0b33 maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents: 22323
diff changeset
18 ## GNU General Public License for more details.
6788
c81a0f3f5a82 [project @ 2007-07-23 22:05:29 by dbateman]
dbateman
parents:
diff changeset
19 ##
c81a0f3f5a82 [project @ 2007-07-23 22:05:29 by dbateman]
dbateman
parents:
diff changeset
20 ## You should have received a copy of the GNU General Public License
7016
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 6788
diff changeset
21 ## along with Octave; see the file COPYING. If not, see
24534
194eb4bd202b maint: Update punctuation for GPL v3 license text.
Rik <rik@octave.org>
parents: 23946
diff changeset
22 ## <https://www.gnu.org/licenses/>.
27923
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
23 ##
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
24 ########################################################################
6788
c81a0f3f5a82 [project @ 2007-07-23 22:05:29 by dbateman]
dbateman
parents:
diff changeset
25
c81a0f3f5a82 [project @ 2007-07-23 22:05:29 by dbateman]
dbateman
parents:
diff changeset
26 ## -*- texinfo -*-
23946
c7b801f36be4 del2.m: Overhaul function (bug #51728).
Rik <rik@octave.org>
parents: 23220
diff changeset
27 ## @deftypefn {} {@var{L} =} del2 (@var{M})
c7b801f36be4 del2.m: Overhaul function (bug #51728).
Rik <rik@octave.org>
parents: 23220
diff changeset
28 ## @deftypefnx {} {@var{L} =} del2 (@var{M}, @var{h})
c7b801f36be4 del2.m: Overhaul function (bug #51728).
Rik <rik@octave.org>
parents: 23220
diff changeset
29 ## @deftypefnx {} {@var{L} =} del2 (@var{M}, @var{dx}, @var{dy}, @dots{})
6788
c81a0f3f5a82 [project @ 2007-07-23 22:05:29 by dbateman]
dbateman
parents:
diff changeset
30 ##
9165
8c71a86c4bf4 Update section 17.5 (Utility Functions) of arith.txi
Rik <rdrider0-list@yahoo.com>
parents: 9141
diff changeset
31 ## Calculate the discrete Laplace
8c71a86c4bf4 Update section 17.5 (Utility Functions) of arith.txi
Rik <rdrider0-list@yahoo.com>
parents: 9141
diff changeset
32 ## @tex
8c71a86c4bf4 Update section 17.5 (Utility Functions) of arith.txi
Rik <rdrider0-list@yahoo.com>
parents: 9141
diff changeset
33 ## operator $( \nabla^2 )$.
8c71a86c4bf4 Update section 17.5 (Utility Functions) of arith.txi
Rik <rdrider0-list@yahoo.com>
parents: 9141
diff changeset
34 ## @end tex
8c71a86c4bf4 Update section 17.5 (Utility Functions) of arith.txi
Rik <rdrider0-list@yahoo.com>
parents: 9141
diff changeset
35 ## @ifnottex
8c71a86c4bf4 Update section 17.5 (Utility Functions) of arith.txi
Rik <rdrider0-list@yahoo.com>
parents: 9141
diff changeset
36 ## operator.
8c71a86c4bf4 Update section 17.5 (Utility Functions) of arith.txi
Rik <rdrider0-list@yahoo.com>
parents: 9141
diff changeset
37 ## @end ifnottex
20158
7503499a252b doc: Update docstrings to have one sentence summary as first line.
Rik <rik@octave.org>
parents: 19833
diff changeset
38 ##
11469
c776f063fefe Overhaul m-script files to use common variable name between code and documentation.
Rik <octave@nomad.inbox5.com>
parents: 10821
diff changeset
39 ## For a 2-dimensional matrix @var{M} this is defined as
6788
c81a0f3f5a82 [project @ 2007-07-23 22:05:29 by dbateman]
dbateman
parents:
diff changeset
40 ## @tex
23946
c7b801f36be4 del2.m: Overhaul function (bug #51728).
Rik <rik@octave.org>
parents: 23220
diff changeset
41 ## $$L = {1 \over 4} \left( {d^2 \over dx^2} M(x,y) + {d^2 \over dy^2} M(x,y) \right)$$
6788
c81a0f3f5a82 [project @ 2007-07-23 22:05:29 by dbateman]
dbateman
parents:
diff changeset
42 ## @end tex
c81a0f3f5a82 [project @ 2007-07-23 22:05:29 by dbateman]
dbateman
parents:
diff changeset
43 ## @ifnottex
10821
693e22af08ae Grammarcheck documentation of m-files
Rik <octave@nomad.inbox5.com>
parents: 10793
diff changeset
44 ##
6788
c81a0f3f5a82 [project @ 2007-07-23 22:05:29 by dbateman]
dbateman
parents:
diff changeset
45 ## @example
c81a0f3f5a82 [project @ 2007-07-23 22:05:29 by dbateman]
dbateman
parents:
diff changeset
46 ## @group
c81a0f3f5a82 [project @ 2007-07-23 22:05:29 by dbateman]
dbateman
parents:
diff changeset
47 ## 1 / d^2 d^2 \
23946
c7b801f36be4 del2.m: Overhaul function (bug #51728).
Rik <rik@octave.org>
parents: 23220
diff changeset
48 ## L = --- * | --- M(x,y) + --- M(x,y) |
6788
c81a0f3f5a82 [project @ 2007-07-23 22:05:29 by dbateman]
dbateman
parents:
diff changeset
49 ## 4 \ dx^2 dy^2 /
c81a0f3f5a82 [project @ 2007-07-23 22:05:29 by dbateman]
dbateman
parents:
diff changeset
50 ## @end group
c81a0f3f5a82 [project @ 2007-07-23 22:05:29 by dbateman]
dbateman
parents:
diff changeset
51 ## @end example
10821
693e22af08ae Grammarcheck documentation of m-files
Rik <octave@nomad.inbox5.com>
parents: 10793
diff changeset
52 ##
6788
c81a0f3f5a82 [project @ 2007-07-23 22:05:29 by dbateman]
dbateman
parents:
diff changeset
53 ## @end ifnottex
21546
f7f97d7e9294 doc: Wrap m-file docstrings to 79 characters + newline (80 total).
Rik <rik@octave.org>
parents: 20852
diff changeset
54 ## For N-dimensional arrays the sum in parentheses is expanded to include
f7f97d7e9294 doc: Wrap m-file docstrings to 79 characters + newline (80 total).
Rik <rik@octave.org>
parents: 20852
diff changeset
55 ## second derivatives over the additional higher dimensions.
6788
c81a0f3f5a82 [project @ 2007-07-23 22:05:29 by dbateman]
dbateman
parents:
diff changeset
56 ##
c81a0f3f5a82 [project @ 2007-07-23 22:05:29 by dbateman]
dbateman
parents:
diff changeset
57 ## The spacing between evaluation points may be defined by @var{h}, which is a
11587
c792872f8942 all script files: untabify and strip trailing whitespace
John W. Eaton <jwe@octave.org>
parents: 11523
diff changeset
58 ## scalar defining the equidistant spacing in all dimensions. Alternatively,
10793
be55736a0783 Grammarcheck the documentation from m-files.
Rik <octave@nomad.inbox5.com>
parents: 10635
diff changeset
59 ## the spacing in each dimension may be defined separately by @var{dx},
11587
c792872f8942 all script files: untabify and strip trailing whitespace
John W. Eaton <jwe@octave.org>
parents: 11523
diff changeset
60 ## @var{dy}, etc. A scalar spacing argument defines equidistant spacing,
10793
be55736a0783 Grammarcheck the documentation from m-files.
Rik <octave@nomad.inbox5.com>
parents: 10635
diff changeset
61 ## whereas a vector argument can be used to specify variable spacing. The
be55736a0783 Grammarcheck the documentation from m-files.
Rik <octave@nomad.inbox5.com>
parents: 10635
diff changeset
62 ## length of the spacing vectors must match the respective dimension of
11469
c776f063fefe Overhaul m-script files to use common variable name between code and documentation.
Rik <octave@nomad.inbox5.com>
parents: 10821
diff changeset
63 ## @var{M}. The default spacing value is 1.
6788
c81a0f3f5a82 [project @ 2007-07-23 22:05:29 by dbateman]
dbateman
parents:
diff changeset
64 ##
23946
c7b801f36be4 del2.m: Overhaul function (bug #51728).
Rik <rik@octave.org>
parents: 23220
diff changeset
65 ## Dimensions with fewer than 3 data points are skipped. Boundary points are
9141
c1fff751b5a8 Update section 17.1 (Utility Functions) of arith.txi
Rik <rdrider0-list@yahoo.com>
parents: 9051
diff changeset
66 ## calculated from the linear extrapolation of interior points.
6788
c81a0f3f5a82 [project @ 2007-07-23 22:05:29 by dbateman]
dbateman
parents:
diff changeset
67 ##
23946
c7b801f36be4 del2.m: Overhaul function (bug #51728).
Rik <rik@octave.org>
parents: 23220
diff changeset
68 ## Example: Second derivative of 2*x^3
c7b801f36be4 del2.m: Overhaul function (bug #51728).
Rik <rik@octave.org>
parents: 23220
diff changeset
69 ##
c7b801f36be4 del2.m: Overhaul function (bug #51728).
Rik <rik@octave.org>
parents: 23220
diff changeset
70 ## @example
c7b801f36be4 del2.m: Overhaul function (bug #51728).
Rik <rik@octave.org>
parents: 23220
diff changeset
71 ## @group
c7b801f36be4 del2.m: Overhaul function (bug #51728).
Rik <rik@octave.org>
parents: 23220
diff changeset
72 ## f = @@(x) 2*x.^3;
c7b801f36be4 del2.m: Overhaul function (bug #51728).
Rik <rik@octave.org>
parents: 23220
diff changeset
73 ## dd = @@(x) 12*x;
c7b801f36be4 del2.m: Overhaul function (bug #51728).
Rik <rik@octave.org>
parents: 23220
diff changeset
74 ## x = 1:6;
c7b801f36be4 del2.m: Overhaul function (bug #51728).
Rik <rik@octave.org>
parents: 23220
diff changeset
75 ## L = 4*del2 (f(x));
c7b801f36be4 del2.m: Overhaul function (bug #51728).
Rik <rik@octave.org>
parents: 23220
diff changeset
76 ## assert (L, dd (x));
c7b801f36be4 del2.m: Overhaul function (bug #51728).
Rik <rik@octave.org>
parents: 23220
diff changeset
77 ## @end group
c7b801f36be4 del2.m: Overhaul function (bug #51728).
Rik <rik@octave.org>
parents: 23220
diff changeset
78 ## @end example
c7b801f36be4 del2.m: Overhaul function (bug #51728).
Rik <rik@octave.org>
parents: 23220
diff changeset
79 ##
6788
c81a0f3f5a82 [project @ 2007-07-23 22:05:29 by dbateman]
dbateman
parents:
diff changeset
80 ## @seealso{gradient, diff}
c81a0f3f5a82 [project @ 2007-07-23 22:05:29 by dbateman]
dbateman
parents:
diff changeset
81 ## @end deftypefn
c81a0f3f5a82 [project @ 2007-07-23 22:05:29 by dbateman]
dbateman
parents:
diff changeset
82
23946
c7b801f36be4 del2.m: Overhaul function (bug #51728).
Rik <rik@octave.org>
parents: 23220
diff changeset
83 function L = del2 (M, varargin)
11587
c792872f8942 all script files: untabify and strip trailing whitespace
John W. Eaton <jwe@octave.org>
parents: 11523
diff changeset
84
6788
c81a0f3f5a82 [project @ 2007-07-23 22:05:29 by dbateman]
dbateman
parents:
diff changeset
85 if (nargin < 1)
c81a0f3f5a82 [project @ 2007-07-23 22:05:29 by dbateman]
dbateman
parents:
diff changeset
86 print_usage ();
c81a0f3f5a82 [project @ 2007-07-23 22:05:29 by dbateman]
dbateman
parents:
diff changeset
87 endif
c81a0f3f5a82 [project @ 2007-07-23 22:05:29 by dbateman]
dbateman
parents:
diff changeset
88
c81a0f3f5a82 [project @ 2007-07-23 22:05:29 by dbateman]
dbateman
parents:
diff changeset
89 nd = ndims (M);
c81a0f3f5a82 [project @ 2007-07-23 22:05:29 by dbateman]
dbateman
parents:
diff changeset
90 sz = size (M);
c81a0f3f5a82 [project @ 2007-07-23 22:05:29 by dbateman]
dbateman
parents:
diff changeset
91 dx = cell (1, nd);
23946
c7b801f36be4 del2.m: Overhaul function (bug #51728).
Rik <rik@octave.org>
parents: 23220
diff changeset
92 if (nargin == 1)
c7b801f36be4 del2.m: Overhaul function (bug #51728).
Rik <rik@octave.org>
parents: 23220
diff changeset
93 for i = 1 : nd
c7b801f36be4 del2.m: Overhaul function (bug #51728).
Rik <rik@octave.org>
parents: 23220
diff changeset
94 dx(i) = ones (sz(i), 1);
c7b801f36be4 del2.m: Overhaul function (bug #51728).
Rik <rik@octave.org>
parents: 23220
diff changeset
95 endfor
c7b801f36be4 del2.m: Overhaul function (bug #51728).
Rik <rik@octave.org>
parents: 23220
diff changeset
96 elseif (nargin == 2 && isscalar (varargin{1}))
c7b801f36be4 del2.m: Overhaul function (bug #51728).
Rik <rik@octave.org>
parents: 23220
diff changeset
97 h = varargin{1};
6788
c81a0f3f5a82 [project @ 2007-07-23 22:05:29 by dbateman]
dbateman
parents:
diff changeset
98 for i = 1 : nd
23946
c7b801f36be4 del2.m: Overhaul function (bug #51728).
Rik <rik@octave.org>
parents: 23220
diff changeset
99 dx(i) = h * ones (sz(i), 1);
c7b801f36be4 del2.m: Overhaul function (bug #51728).
Rik <rik@octave.org>
parents: 23220
diff changeset
100 endfor
c7b801f36be4 del2.m: Overhaul function (bug #51728).
Rik <rik@octave.org>
parents: 23220
diff changeset
101 elseif (numel (varargin) <= nd)
c7b801f36be4 del2.m: Overhaul function (bug #51728).
Rik <rik@octave.org>
parents: 23220
diff changeset
102 ndx = numel (varargin);
c7b801f36be4 del2.m: Overhaul function (bug #51728).
Rik <rik@octave.org>
parents: 23220
diff changeset
103 varargin(ndx+1:nd) = 1; # Fill missing dims with 1.
c7b801f36be4 del2.m: Overhaul function (bug #51728).
Rik <rik@octave.org>
parents: 23220
diff changeset
104 ## Reverse dx{1} and dx{2} as the X-dim is the 2nd dim of a meshgrid array
c7b801f36be4 del2.m: Overhaul function (bug #51728).
Rik <rik@octave.org>
parents: 23220
diff changeset
105 varargin([1, 2]) = varargin([2, 1]);
c7b801f36be4 del2.m: Overhaul function (bug #51728).
Rik <rik@octave.org>
parents: 23220
diff changeset
106 for i = 1 : nd
c7b801f36be4 del2.m: Overhaul function (bug #51728).
Rik <rik@octave.org>
parents: 23220
diff changeset
107 arg = varargin{i};
c7b801f36be4 del2.m: Overhaul function (bug #51728).
Rik <rik@octave.org>
parents: 23220
diff changeset
108 if (isscalar (arg))
c7b801f36be4 del2.m: Overhaul function (bug #51728).
Rik <rik@octave.org>
parents: 23220
diff changeset
109 dx(i) = arg * ones (sz(i), 1);
c7b801f36be4 del2.m: Overhaul function (bug #51728).
Rik <rik@octave.org>
parents: 23220
diff changeset
110 elseif (isvector (arg))
c7b801f36be4 del2.m: Overhaul function (bug #51728).
Rik <rik@octave.org>
parents: 23220
diff changeset
111 if (length (arg) != sz(i))
c7b801f36be4 del2.m: Overhaul function (bug #51728).
Rik <rik@octave.org>
parents: 23220
diff changeset
112 error ("del2: number of elements in spacing vector %d does not match dimension %d of M", i, i);
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 9167
diff changeset
113 endif
23946
c7b801f36be4 del2.m: Overhaul function (bug #51728).
Rik <rik@octave.org>
parents: 23220
diff changeset
114 dx(i) = diff (varargin{i})(:);
6788
c81a0f3f5a82 [project @ 2007-07-23 22:05:29 by dbateman]
dbateman
parents:
diff changeset
115 else
23946
c7b801f36be4 del2.m: Overhaul function (bug #51728).
Rik <rik@octave.org>
parents: 23220
diff changeset
116 error ("del2: spacing element %d must be a scalar or vector", i);
6788
c81a0f3f5a82 [project @ 2007-07-23 22:05:29 by dbateman]
dbateman
parents:
diff changeset
117 endif
c81a0f3f5a82 [project @ 2007-07-23 22:05:29 by dbateman]
dbateman
parents:
diff changeset
118 endfor
c81a0f3f5a82 [project @ 2007-07-23 22:05:29 by dbateman]
dbateman
parents:
diff changeset
119 else
c81a0f3f5a82 [project @ 2007-07-23 22:05:29 by dbateman]
dbateman
parents:
diff changeset
120 print_usage ();
c81a0f3f5a82 [project @ 2007-07-23 22:05:29 by dbateman]
dbateman
parents:
diff changeset
121 endif
c81a0f3f5a82 [project @ 2007-07-23 22:05:29 by dbateman]
dbateman
parents:
diff changeset
122
c81a0f3f5a82 [project @ 2007-07-23 22:05:29 by dbateman]
dbateman
parents:
diff changeset
123 idx = cell (1, nd);
23946
c7b801f36be4 del2.m: Overhaul function (bug #51728).
Rik <rik@octave.org>
parents: 23220
diff changeset
124 idx(:) = ":";
6788
c81a0f3f5a82 [project @ 2007-07-23 22:05:29 by dbateman]
dbateman
parents:
diff changeset
125
23946
c7b801f36be4 del2.m: Overhaul function (bug #51728).
Rik <rik@octave.org>
parents: 23220
diff changeset
126 L = zeros (sz);
c7b801f36be4 del2.m: Overhaul function (bug #51728).
Rik <rik@octave.org>
parents: 23220
diff changeset
127 for i = 1 : nd
6788
c81a0f3f5a82 [project @ 2007-07-23 22:05:29 by dbateman]
dbateman
parents:
diff changeset
128 if (sz(i) >= 3)
c81a0f3f5a82 [project @ 2007-07-23 22:05:29 by dbateman]
dbateman
parents:
diff changeset
129 DD = zeros (sz);
c81a0f3f5a82 [project @ 2007-07-23 22:05:29 by dbateman]
dbateman
parents:
diff changeset
130 idx1 = idx2 = idx3 = idx;
c81a0f3f5a82 [project @ 2007-07-23 22:05:29 by dbateman]
dbateman
parents:
diff changeset
131
c81a0f3f5a82 [project @ 2007-07-23 22:05:29 by dbateman]
dbateman
parents:
diff changeset
132 ## interior points
c81a0f3f5a82 [project @ 2007-07-23 22:05:29 by dbateman]
dbateman
parents:
diff changeset
133 idx1{i} = 1 : sz(i) - 2;
c81a0f3f5a82 [project @ 2007-07-23 22:05:29 by dbateman]
dbateman
parents:
diff changeset
134 idx2{i} = 2 : sz(i) - 1;
c81a0f3f5a82 [project @ 2007-07-23 22:05:29 by dbateman]
dbateman
parents:
diff changeset
135 idx3{i} = 3 : sz(i);
c81a0f3f5a82 [project @ 2007-07-23 22:05:29 by dbateman]
dbateman
parents:
diff changeset
136 szi = sz;
23946
c7b801f36be4 del2.m: Overhaul function (bug #51728).
Rik <rik@octave.org>
parents: 23220
diff changeset
137 szi(i) = 1;
6788
c81a0f3f5a82 [project @ 2007-07-23 22:05:29 by dbateman]
dbateman
parents:
diff changeset
138
c81a0f3f5a82 [project @ 2007-07-23 22:05:29 by dbateman]
dbateman
parents:
diff changeset
139 h1 = repmat (shiftdim (dx{i}(1 : sz(i) - 2), 1 - i), szi);
c81a0f3f5a82 [project @ 2007-07-23 22:05:29 by dbateman]
dbateman
parents:
diff changeset
140 h2 = repmat (shiftdim (dx{i}(2 : sz(i) - 1), 1 - i), szi);
c81a0f3f5a82 [project @ 2007-07-23 22:05:29 by dbateman]
dbateman
parents:
diff changeset
141 DD(idx2{:}) = ((M(idx1{:}) - M(idx2{:})) ./ h1 + ...
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 9167
diff changeset
142 (M(idx3{:}) - M(idx2{:})) ./ h2) ./ (h1 + h2);
6788
c81a0f3f5a82 [project @ 2007-07-23 22:05:29 by dbateman]
dbateman
parents:
diff changeset
143
c81a0f3f5a82 [project @ 2007-07-23 22:05:29 by dbateman]
dbateman
parents:
diff changeset
144 ## left and right boundary
c81a0f3f5a82 [project @ 2007-07-23 22:05:29 by dbateman]
dbateman
parents:
diff changeset
145 if (sz(i) == 3)
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 9167
diff changeset
146 DD(idx1{:}) = DD(idx3{:}) = DD(idx2{:});
6788
c81a0f3f5a82 [project @ 2007-07-23 22:05:29 by dbateman]
dbateman
parents:
diff changeset
147 else
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 9167
diff changeset
148 idx1{i} = 1;
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 9167
diff changeset
149 idx2{i} = 2;
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 9167
diff changeset
150 idx3{i} = 3;
19833
9fc020886ae9 maint: Clean up m-files to follow Octave coding conventions.
Rik <rik@octave.org>
parents: 19697
diff changeset
151 DD(idx1{:}) = (dx{i}(1) + dx{i}(2)) / dx{i}(2) * DD(idx2{:}) - ...
9fc020886ae9 maint: Clean up m-files to follow Octave coding conventions.
Rik <rik@octave.org>
parents: 19697
diff changeset
152 dx{i}(1) / dx{i}(2) * DD(idx3{:});
6788
c81a0f3f5a82 [project @ 2007-07-23 22:05:29 by dbateman]
dbateman
parents:
diff changeset
153
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 9167
diff changeset
154 idx1{i} = sz(i);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 9167
diff changeset
155 idx2{i} = sz(i) - 1;
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 9167
diff changeset
156 idx3{i} = sz(i) - 2;
19833
9fc020886ae9 maint: Clean up m-files to follow Octave coding conventions.
Rik <rik@octave.org>
parents: 19697
diff changeset
157 DD(idx1{:}) = (dx{i}(sz(i) - 1) + dx{i}(sz(i) - 2)) / ...
9fc020886ae9 maint: Clean up m-files to follow Octave coding conventions.
Rik <rik@octave.org>
parents: 19697
diff changeset
158 dx{i}(sz(i) - 2) * DD(idx2{:}) - ...
9fc020886ae9 maint: Clean up m-files to follow Octave coding conventions.
Rik <rik@octave.org>
parents: 19697
diff changeset
159 dx{i}(sz(i) - 1) / dx{i}(sz(i) - 2) * DD(idx3{:});
6788
c81a0f3f5a82 [project @ 2007-07-23 22:05:29 by dbateman]
dbateman
parents:
diff changeset
160 endif
c81a0f3f5a82 [project @ 2007-07-23 22:05:29 by dbateman]
dbateman
parents:
diff changeset
161
23946
c7b801f36be4 del2.m: Overhaul function (bug #51728).
Rik <rik@octave.org>
parents: 23220
diff changeset
162 L += DD;
6788
c81a0f3f5a82 [project @ 2007-07-23 22:05:29 by dbateman]
dbateman
parents:
diff changeset
163 endif
c81a0f3f5a82 [project @ 2007-07-23 22:05:29 by dbateman]
dbateman
parents:
diff changeset
164 endfor
c81a0f3f5a82 [project @ 2007-07-23 22:05:29 by dbateman]
dbateman
parents:
diff changeset
165
23946
c7b801f36be4 del2.m: Overhaul function (bug #51728).
Rik <rik@octave.org>
parents: 23220
diff changeset
166 L ./= nd;
21758
ffad2baa90f7 maint: Use newlines to make code more readable.
Rik <rik@octave.org>
parents: 21562
diff changeset
167
6788
c81a0f3f5a82 [project @ 2007-07-23 22:05:29 by dbateman]
dbateman
parents:
diff changeset
168 endfunction
17338
1c89599167a6 maint: End m-files with 1 blank line.
Rik <rik@octave.org>
parents: 14138
diff changeset
169
18617
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
170
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
171 ## 3x3 constant test
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
172 %!test
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
173 %! a = ones (3,3);
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
174 %! b = del2 (a);
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
175 %! assert (b(:,1), [0.00;0.00;0.00]);
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
176 %! assert (b(:,2), [0.00;0.00;0.00]);
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
177 %! assert (b(:,3), [0.00;0.00;0.00]);
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
178
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
179 ## 3x3 planar test
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
180 %!test
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
181 %! a = [1,2,3;2,3,4;3,4,5];
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
182 %! b = del2 (a);
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
183 %! assert (b(:,1), [0.00;0.00;0.00]);
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
184 %! assert (b(:,2), [0.00;0.00;0.00]);
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
185 %! assert (b(:,3), [0.00;0.00;0.00]);
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
186
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
187 ## 3x3 corner test
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
188 %!test
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
189 %! a = zeros (3,3);
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
190 %! a(1,1) = 1.0;
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
191 %! b = 2*del2 (a);
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
192 %! assert (b(:,1), [1.00;0.50;0.50]);
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
193 %! assert (b(:,2), [0.50;0.00;0.00]);
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
194 %! assert (b(:,3), [0.50;0.00;0.00]);
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
195 %! assert (b, flipud (2*del2 (flipud (a))));
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
196 %! assert (b, fliplr (2*del2 (fliplr (a))));
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
197 %! assert (b, flipud (fliplr (2*del2 (fliplr (flipud (a))))));
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
198
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
199 ## 3x3 boundary test
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
200 %!test
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
201 %! a = zeros (3,3);
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
202 %! a(2,1)=1.0;
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
203 %! b = 2*del2 (a);
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
204 %! assert (b(:,1), [-1.00;-0.50;-1.00]);
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
205 %! assert (b(:,2), [0.00;0.50;0.00]);
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
206 %! assert (b(:,3), [0.00;0.50;0.00]);
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
207 %! assert (b, flipud (2*del2 (flipud (a))));
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
208 %! assert (b, fliplr (2*del2 (fliplr (a))));
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
209 %! assert (b, flipud (fliplr (2*del2 (fliplr (flipud (a))))));
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
210
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
211 ## 3x3 center test
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
212 %!test
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
213 %! a = zeros (3,3);
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
214 %! a(2,2) = 1.0;
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
215 %! b = del2 (a);
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
216 %! assert (b(:,1), [0.00;-0.50;0.00]);
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
217 %! assert (b(:,2), [-0.50;-1.00;-0.50]);
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
218 %! assert (b(:,3), [0.00;-0.50;0.00]);
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
219
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
220 ## 4x4 constant test
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
221 %!test
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
222 %! a = ones (4,4);
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
223 %! b = del2 (a);
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
224 %! assert (b(:,1), [0.00;0.00;0.00;0.00]);
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
225 %! assert (b(:,2), [0.00;0.00;0.00;0.00]);
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
226 %! assert (b(:,3), [0.00;0.00;0.00;0.00]);
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
227 %! assert (b(:,4), [0.00;0.00;0.00;0.00]);
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
228
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
229 ## 4x4 planar test
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
230 %!test
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
231 %! a = [1,2,3,4;2,3,4,5;3,4,5,6;4,5,6,7];
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
232 %! b = del2 (a);
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
233 %! assert (b(:,1), [0.00;0.00;0.00;0.00]);
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
234 %! assert (b(:,2), [0.00;0.00;0.00;0.00]);
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
235 %! assert (b(:,3), [0.00;0.00;0.00;0.00]);
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
236 %! assert (b(:,4), [0.00;0.00;0.00;0.00]);
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
237
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
238 ## 4x4 corner test
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
239 %!test
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
240 %! a = zeros (4,4);
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
241 %! a(1,1) = 1.0;
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
242 %! b = 2*del2 (a);
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
243 %! assert (b(:,1), [2.00;0.50;0.00;-0.50]);
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
244 %! assert (b(:,2), [0.50;0.00;0.00;0.00]);
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
245 %! assert (b(:,3), [0.00;0.00;0.00;0.00]);
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
246 %! assert (b(:,4), [-0.50;0.00;0.00;0.00]);
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
247 %! assert (b, flipud (2*del2 (flipud (a))));
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
248 %! assert (b, fliplr (2*del2 (fliplr (a))));
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
249 %! assert (b, flipud (fliplr (2*del2 (fliplr (flipud (a))))));
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
250
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
251 ## 9x9 center test
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
252 %!test
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
253 %! a = zeros (9,9);
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
254 %! a(5,5) = 1.0;
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
255 %! b = 2*del2 (a);
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
256 %! assert (b(:,1), [0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00]);
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
257 %! assert (b(:,2), [0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00]);
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
258 %! assert (b(:,3), [0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00]);
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
259 %! assert (b(:,4), [0.00;0.00;0.00;0.00;0.50;0.00;0.00;0.00;0.00]);
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
260 %! assert (b(:,5), [0.00;0.00;0.00;0.50;-2.00;0.50;0.00;0.00;0.00]);
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
261 %! assert (b(:,6), b(:,4));
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
262 %! assert (b(:,7), b(:,3));
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
263 %! assert (b(:,8), b(:,2));
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
264 %! assert (b(:,9), b(:,1));
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
265
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
266 ## 9x9 boundary test
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
267 %!test
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
268 %! a = zeros (9,9);
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
269 %! a(1,5) = 1.0;
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
270 %! b = 2*del2 (a);
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
271 %! assert (b(1,:), [0.00,0.00,0.00,0.50,0.00,0.50,0.00,0.00,0.00]);
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
272 %! assert (b(2,:), [0.00,0.00,0.00,0.00,0.50,0.00,0.00,0.00,0.00]);
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
273 %! assert (b(3:9,:), zeros (7,9));
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
274 %! a(1,5) = 0.0;
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
275 %! a(5,1) = 1.0;
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
276 %! b = 2*del2 (a);
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
277 %! assert (b(:,1), [0.00;0.00;0.00;0.50;0.00;0.50;0.00;0.00;0.00]);
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
278 %! assert (b(:,2), [0.00;0.00;0.00;0.00;0.50;0.00;0.00;0.00;0.00]);
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
279 %! assert (b(:,3:9), zeros (9,7));
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
280
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
281 ## 9x9 dh center test
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
282 %!test
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
283 %! a = zeros (9,9);
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
284 %! a(5,5) = 1.0;
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
285 %! b = 8*del2 (a,2);
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
286 %! assert (b(:,1:3), zeros (9,3));
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
287 %! assert (b(:,4), [0.00;0.00;0.00;0.00;0.50;0.00;0.00;0.00;0.00]);
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
288 %! assert (b(:,5), [0.00;0.00;0.00;0.50;-2.00;0.50;0.00;0.00;0.00]);
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
289 %! assert (b(:,6), b(:,4));
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
290 %! assert (b(:,7:9), zeros (9,3));
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
291
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
292 ## 9x9 dx test
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
293 %!test
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
294 %! a = zeros (9,9);
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
295 %! a(5,5) = 1.0;
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
296 %! b = 4*del2 (a,2,1);
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
297 %! assert (b(1:3,:), zeros (3,9));
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
298 %! assert (b(4,:), [0.00;0.00;0.00;0.00;1.00;0.00;0.00;0.00;0.00]');
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
299 %! assert (b(5,:), [0.00;0.00;0.00;0.25;-2.5;0.25;0.00;0.00;0.00]');
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
300 %! assert (b(6,:), b(4,:));
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
301 %! assert (b(7:9,:), zeros (3,9));
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
302
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
303 ## 9x9 dy test
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
304 %!test
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
305 %! a = zeros (9,9);
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
306 %! a(5,5) = 1.0;
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
307 %! b = 4*del2 (a,1,2);
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
308 %! assert (b(:,1:3), zeros (9,3));
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
309 %! assert (b(:,4), [0.00;0.00;0.00;0.00;1.00;0.00;0.00;0.00;0.00]);
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
310 %! assert (b(:,5), [0.00;0.00;0.00;0.25;-2.5;0.25;0.00;0.00;0.00]);
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
311 %! assert (b(:,6), b(:,4));
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
312 %! assert (b(:,7:9), zeros (9,3));
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
313
31253
a40c0b7aa376 maint: changes to follow Octave coding conventions.
Rik <rik@octave.org>
parents: 30564
diff changeset
314 ## 3-D test
18617
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
315 %!test
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
316 %! a = zeros (9,9,9);
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
317 %! a(5,5,5) = 1.0;
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
318 %! b = 8*3*del2 (a,2);
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
319 %! assert (b(:,:,1:3), zeros (9,9,3));
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
320 %! assert (b(:,1:3,:), zeros (9,3,9));
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
321 %! assert (b(1:3,:,:), zeros (3,9,9));
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
322 %! assert (b(4:5,4,4), [0.0,0.0]');
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
323 %! assert (b(5,5,4), 1.00);
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
324 %! assert (b(4,4,5), 0.00);
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
325 %! assert (b(5,4,5), 1.00);
21e5205679d0 del2.m: Add %!tests (bug #42005).
Allan Jacobs <jacobsallanster@gmail.com>
parents: 17744
diff changeset
326 %! assert (b(5,5,5),-6.00);
19126
995df67fc912 Flip arrays - ND support for fliplr and flipud, and replace flipdim with flip.
Carnë Draug <carandraug+dev@gmail.com>
parents: 18617
diff changeset
327 %! assert (b, flip (b,1));
995df67fc912 Flip arrays - ND support for fliplr and flipud, and replace flipdim with flip.
Carnë Draug <carandraug+dev@gmail.com>
parents: 18617
diff changeset
328 %! assert (b, flip (b,2));
995df67fc912 Flip arrays - ND support for fliplr and flipud, and replace flipdim with flip.
Carnë Draug <carandraug+dev@gmail.com>
parents: 18617
diff changeset
329 %! assert (b, flip (b,3));
23946
c7b801f36be4 del2.m: Overhaul function (bug #51728).
Rik <rik@octave.org>
parents: 23220
diff changeset
330
c7b801f36be4 del2.m: Overhaul function (bug #51728).
Rik <rik@octave.org>
parents: 23220
diff changeset
331 %!test <*51728>
c7b801f36be4 del2.m: Overhaul function (bug #51728).
Rik <rik@octave.org>
parents: 23220
diff changeset
332 %! x = linspace (-2*pi, 2*pi);
c7b801f36be4 del2.m: Overhaul function (bug #51728).
Rik <rik@octave.org>
parents: 23220
diff changeset
333 %! U = cos (x);
c7b801f36be4 del2.m: Overhaul function (bug #51728).
Rik <rik@octave.org>
parents: 23220
diff changeset
334 %! L = 4*del2 (U, x);
c7b801f36be4 del2.m: Overhaul function (bug #51728).
Rik <rik@octave.org>
parents: 23220
diff changeset
335
c7b801f36be4 del2.m: Overhaul function (bug #51728).
Rik <rik@octave.org>
parents: 23220
diff changeset
336 ## Test input validation
28896
90fea9cc9caa test: Add expected error message <Invalid call> to BIST tests for nargin.
Rik <rik@octave.org>
parents: 27978
diff changeset
337 %!error <Invalid call> del2 ()
90fea9cc9caa test: Add expected error message <Invalid call> to BIST tests for nargin.
Rik <rik@octave.org>
parents: 27978
diff changeset
338 %!error <Invalid call> del2 (1, 1, 2, 3)
23946
c7b801f36be4 del2.m: Overhaul function (bug #51728).
Rik <rik@octave.org>
parents: 23220
diff changeset
339 %!error <in spacing vector 1> del2 (1, 2, [1 1])
c7b801f36be4 del2.m: Overhaul function (bug #51728).
Rik <rik@octave.org>
parents: 23220
diff changeset
340 %!error <in spacing vector 2> del2 (1, [1 1], 2)
c7b801f36be4 del2.m: Overhaul function (bug #51728).
Rik <rik@octave.org>
parents: 23220
diff changeset
341 %!error <must be a scalar or vector> del2 (1, ones (2,2), 2)
c7b801f36be4 del2.m: Overhaul function (bug #51728).
Rik <rik@octave.org>
parents: 23220
diff changeset
342