annotate scripts/polynomial/conv.m @ 15063:36cbcc37fdb8

Refactor configure.ac to make it more understandable. Use common syntax for messages in config.h Correct typos, refer to libraries in all caps, use two spaces after period. Follow Autoconf guidelines and place general tests before specific tests. * configure.ac, m4/acinclude.m4: Use common syntax for messages in config.h Correct typos, refer to libraries in all caps, use two spaces after period. Follow Autoconf guidelines and place general tests before specific tests.
author Rik <rik@octave.org>
date Tue, 31 Jul 2012 10:28:51 -0700
parents f3d52523cde1
children bc924baa2c4e
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: 14104
diff changeset
1 ## Copyright (C) 1994-2012 John W. Eaton
2313
5ca126254d15 [project @ 1996-07-11 21:25:22 by jwe]
jwe
parents: 2312
diff changeset
2 ##
5ca126254d15 [project @ 1996-07-11 21:25:22 by jwe]
jwe
parents: 2312
diff changeset
3 ## This file is part of Octave.
5ca126254d15 [project @ 1996-07-11 21:25:22 by jwe]
jwe
parents: 2312
diff changeset
4 ##
5ca126254d15 [project @ 1996-07-11 21:25:22 by jwe]
jwe
parents: 2312
diff changeset
5 ## Octave is free software; you can redistribute it and/or modify it
5ca126254d15 [project @ 1996-07-11 21:25:22 by jwe]
jwe
parents: 2312
diff changeset
6 ## under the terms of the GNU General Public License as published by
7016
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 6046
diff changeset
7 ## the Free Software Foundation; either version 3 of the License, or (at
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 6046
diff changeset
8 ## your option) any later version.
2313
5ca126254d15 [project @ 1996-07-11 21:25:22 by jwe]
jwe
parents: 2312
diff changeset
9 ##
5ca126254d15 [project @ 1996-07-11 21:25:22 by jwe]
jwe
parents: 2312
diff changeset
10 ## Octave is distributed in the hope that it will be useful, but
5ca126254d15 [project @ 1996-07-11 21:25:22 by jwe]
jwe
parents: 2312
diff changeset
11 ## WITHOUT ANY WARRANTY; without even the implied warranty of
5ca126254d15 [project @ 1996-07-11 21:25:22 by jwe]
jwe
parents: 2312
diff changeset
12 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
5ca126254d15 [project @ 1996-07-11 21:25:22 by jwe]
jwe
parents: 2312
diff changeset
13 ## General Public License for more details.
5ca126254d15 [project @ 1996-07-11 21:25:22 by jwe]
jwe
parents: 2312
diff changeset
14 ##
5ca126254d15 [project @ 1996-07-11 21:25:22 by jwe]
jwe
parents: 2312
diff changeset
15 ## 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: 6046
diff changeset
16 ## along with Octave; see the file COPYING. If not, see
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 6046
diff changeset
17 ## <http://www.gnu.org/licenses/>.
1025
f558749713f1 [project @ 1995-01-11 20:52:10 by jwe]
jwe
parents: 904
diff changeset
18
3368
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3202
diff changeset
19 ## -*- texinfo -*-
11085
2beacd515e09 Update docstrings for convolution family of functions (conv, conv2, fftconv)
Rik <octave@nomad.inbox5.com>
parents: 11084
diff changeset
20 ## @deftypefn {Function File} {} conv (@var{a}, @var{b})
2beacd515e09 Update docstrings for convolution family of functions (conv, conv2, fftconv)
Rik <octave@nomad.inbox5.com>
parents: 11084
diff changeset
21 ## @deftypefnx {Function File} {} conv (@var{a}, @var{b}, @var{shape})
13295
96c7143304d9 conv.m: Simplify algorithm and add more input validation and tests
Rik <octave@nomad.inbox5.com>
parents: 11523
diff changeset
22 ## Convolve two vectors @var{a} and @var{b}.
3426
f8dde1807dee [project @ 2000-01-13 08:40:00 by jwe]
jwe
parents: 3368
diff changeset
23 ##
13295
96c7143304d9 conv.m: Simplify algorithm and add more input validation and tests
Rik <octave@nomad.inbox5.com>
parents: 11523
diff changeset
24 ## The output convolution is a vector with length equal to
11085
2beacd515e09 Update docstrings for convolution family of functions (conv, conv2, fftconv)
Rik <octave@nomad.inbox5.com>
parents: 11084
diff changeset
25 ## @code{length (@var{a}) + length (@var{b}) - 1}.
13295
96c7143304d9 conv.m: Simplify algorithm and add more input validation and tests
Rik <octave@nomad.inbox5.com>
parents: 11523
diff changeset
26 ## When @var{a} and @var{b} are the coefficient vectors of two polynomials, the
96c7143304d9 conv.m: Simplify algorithm and add more input validation and tests
Rik <octave@nomad.inbox5.com>
parents: 11523
diff changeset
27 ## convolution represents the coefficient vector of the product polynomial.
11082
4558aad4c41d conv.m: handle "same" shape argument
John W. Eaton <jwe@octave.org>
parents: 10224
diff changeset
28 ##
11085
2beacd515e09 Update docstrings for convolution family of functions (conv, conv2, fftconv)
Rik <octave@nomad.inbox5.com>
parents: 11084
diff changeset
29 ## The optional @var{shape} argument may be
11082
4558aad4c41d conv.m: handle "same" shape argument
John W. Eaton <jwe@octave.org>
parents: 10224
diff changeset
30 ##
11084
0f6c5efce96e conv.m: docstring fix
John W. Eaton <jwe@octave.org>
parents: 11082
diff changeset
31 ## @table @asis
11082
4558aad4c41d conv.m: handle "same" shape argument
John W. Eaton <jwe@octave.org>
parents: 10224
diff changeset
32 ## @item @var{shape} = "full"
11085
2beacd515e09 Update docstrings for convolution family of functions (conv, conv2, fftconv)
Rik <octave@nomad.inbox5.com>
parents: 11084
diff changeset
33 ## Return the full convolution. (default)
11084
0f6c5efce96e conv.m: docstring fix
John W. Eaton <jwe@octave.org>
parents: 11082
diff changeset
34 ##
11082
4558aad4c41d conv.m: handle "same" shape argument
John W. Eaton <jwe@octave.org>
parents: 10224
diff changeset
35 ## @item @var{shape} = "same"
11085
2beacd515e09 Update docstrings for convolution family of functions (conv, conv2, fftconv)
Rik <octave@nomad.inbox5.com>
parents: 11084
diff changeset
36 ## Return the central part of the convolution with the same size as @var{a}.
11082
4558aad4c41d conv.m: handle "same" shape argument
John W. Eaton <jwe@octave.org>
parents: 10224
diff changeset
37 ## @end table
4558aad4c41d conv.m: handle "same" shape argument
John W. Eaton <jwe@octave.org>
parents: 10224
diff changeset
38 ##
14104
614505385171 doc: Overhaul docstrings for polynomial functions.
Rik <octave@nomad.inbox5.com>
parents: 13295
diff changeset
39 ## @seealso{deconv, conv2, convn, fftconv}
3368
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3202
diff changeset
40 ## @end deftypefn
2311
2b5788792cad [project @ 1996-07-11 20:18:38 by jwe]
jwe
parents: 2303
diff changeset
41
3202
44d82b369c78 [project @ 1998-10-29 20:27:57 by jwe]
jwe
parents: 2847
diff changeset
42 ## Author: Tony Richardson <arichard@stark.cc.oh.us>
2312
204cc7db6f4a [project @ 1996-07-11 21:20:36 by jwe]
jwe
parents: 2311
diff changeset
43 ## Created: June 1994
204cc7db6f4a [project @ 1996-07-11 21:20:36 by jwe]
jwe
parents: 2311
diff changeset
44 ## Adapted-By: jwe
204cc7db6f4a [project @ 1996-07-11 21:20:36 by jwe]
jwe
parents: 2311
diff changeset
45
11082
4558aad4c41d conv.m: handle "same" shape argument
John W. Eaton <jwe@octave.org>
parents: 10224
diff changeset
46 function y = conv (a, b, shape = "full")
2325
b5568c31ee2c [project @ 1996-07-15 22:20:21 by jwe]
jwe
parents: 2313
diff changeset
47
11082
4558aad4c41d conv.m: handle "same" shape argument
John W. Eaton <jwe@octave.org>
parents: 10224
diff changeset
48 if (nargin < 2 || nargin > 3)
6046
34f96dd5441b [project @ 2006-10-10 16:10:25 by jwe]
jwe
parents: 5642
diff changeset
49 print_usage ();
787
c5d35bb139b6 [project @ 1994-10-11 00:34:13 by jwe]
jwe
parents:
diff changeset
50 endif
c5d35bb139b6 [project @ 1994-10-11 00:34:13 by jwe]
jwe
parents:
diff changeset
51
4030
22bd65326ec1 [project @ 2002-08-09 18:58:13 by jwe]
jwe
parents: 3457
diff changeset
52 if (! (isvector (a) && isvector (b)))
13295
96c7143304d9 conv.m: Simplify algorithm and add more input validation and tests
Rik <octave@nomad.inbox5.com>
parents: 11523
diff changeset
53 error ("conv: both arguments A and B must be vectors");
14347
12c70d00c04e conv.m: Add "valid" as possible SHAPE parameter (Bug #34893)
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
54 elseif (nargin == 3 && ! any (strcmpi (shape, {"full", "same", "valid"})))
12c70d00c04e conv.m: Add "valid" as possible SHAPE parameter (Bug #34893)
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
55 error ('conv: SHAPE argument must be "full", "same", or "valid"');
787
c5d35bb139b6 [project @ 1994-10-11 00:34:13 by jwe]
jwe
parents:
diff changeset
56 endif
c5d35bb139b6 [project @ 1994-10-11 00:34:13 by jwe]
jwe
parents:
diff changeset
57
14347
12c70d00c04e conv.m: Add "valid" as possible SHAPE parameter (Bug #34893)
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
58 la = la_orig = length (a);
12c70d00c04e conv.m: Add "valid" as possible SHAPE parameter (Bug #34893)
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
59 lb = lb_orig = length (b);
787
c5d35bb139b6 [project @ 1994-10-11 00:34:13 by jwe]
jwe
parents:
diff changeset
60
c5d35bb139b6 [project @ 1994-10-11 00:34:13 by jwe]
jwe
parents:
diff changeset
61 ly = la + lb - 1;
c5d35bb139b6 [project @ 1994-10-11 00:34:13 by jwe]
jwe
parents:
diff changeset
62
11082
4558aad4c41d conv.m: handle "same" shape argument
John W. Eaton <jwe@octave.org>
parents: 10224
diff changeset
63 if (ly == 0)
4558aad4c41d conv.m: handle "same" shape argument
John W. Eaton <jwe@octave.org>
parents: 10224
diff changeset
64 y = zeros (1, 0);
13295
96c7143304d9 conv.m: Simplify algorithm and add more input validation and tests
Rik <octave@nomad.inbox5.com>
parents: 11523
diff changeset
65 return;
96c7143304d9 conv.m: Simplify algorithm and add more input validation and tests
Rik <octave@nomad.inbox5.com>
parents: 11523
diff changeset
66 endif
96c7143304d9 conv.m: Simplify algorithm and add more input validation and tests
Rik <octave@nomad.inbox5.com>
parents: 11523
diff changeset
67
96c7143304d9 conv.m: Simplify algorithm and add more input validation and tests
Rik <octave@nomad.inbox5.com>
parents: 11523
diff changeset
68 ## Use shortest vector as the coefficent vector to filter.
96c7143304d9 conv.m: Simplify algorithm and add more input validation and tests
Rik <octave@nomad.inbox5.com>
parents: 11523
diff changeset
69 if (la > lb)
96c7143304d9 conv.m: Simplify algorithm and add more input validation and tests
Rik <octave@nomad.inbox5.com>
parents: 11523
diff changeset
70 [a, b] = deal (b, a); # Swap vectors
96c7143304d9 conv.m: Simplify algorithm and add more input validation and tests
Rik <octave@nomad.inbox5.com>
parents: 11523
diff changeset
71 lb = la;
96c7143304d9 conv.m: Simplify algorithm and add more input validation and tests
Rik <octave@nomad.inbox5.com>
parents: 11523
diff changeset
72 endif
96c7143304d9 conv.m: Simplify algorithm and add more input validation and tests
Rik <octave@nomad.inbox5.com>
parents: 11523
diff changeset
73 x = b;
96c7143304d9 conv.m: Simplify algorithm and add more input validation and tests
Rik <octave@nomad.inbox5.com>
parents: 11523
diff changeset
74
96c7143304d9 conv.m: Simplify algorithm and add more input validation and tests
Rik <octave@nomad.inbox5.com>
parents: 11523
diff changeset
75 ## Pad longer vector to convolution length.
96c7143304d9 conv.m: Simplify algorithm and add more input validation and tests
Rik <octave@nomad.inbox5.com>
parents: 11523
diff changeset
76 if (ly > lb)
96c7143304d9 conv.m: Simplify algorithm and add more input validation and tests
Rik <octave@nomad.inbox5.com>
parents: 11523
diff changeset
77 x(end+1:end+ly-lb) = 0;
96c7143304d9 conv.m: Simplify algorithm and add more input validation and tests
Rik <octave@nomad.inbox5.com>
parents: 11523
diff changeset
78 endif
96c7143304d9 conv.m: Simplify algorithm and add more input validation and tests
Rik <octave@nomad.inbox5.com>
parents: 11523
diff changeset
79
96c7143304d9 conv.m: Simplify algorithm and add more input validation and tests
Rik <octave@nomad.inbox5.com>
parents: 11523
diff changeset
80 y = filter (a, 1, x);
96c7143304d9 conv.m: Simplify algorithm and add more input validation and tests
Rik <octave@nomad.inbox5.com>
parents: 11523
diff changeset
81
14347
12c70d00c04e conv.m: Add "valid" as possible SHAPE parameter (Bug #34893)
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
82 if (strcmpi (shape, "same"))
13295
96c7143304d9 conv.m: Simplify algorithm and add more input validation and tests
Rik <octave@nomad.inbox5.com>
parents: 11523
diff changeset
83 idx = ceil ((ly - la) / 2);
96c7143304d9 conv.m: Simplify algorithm and add more input validation and tests
Rik <octave@nomad.inbox5.com>
parents: 11523
diff changeset
84 y = y(idx+1:idx+la);
14347
12c70d00c04e conv.m: Add "valid" as possible SHAPE parameter (Bug #34893)
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
85 elseif (strcmpi (shape, "valid"))
12c70d00c04e conv.m: Add "valid" as possible SHAPE parameter (Bug #34893)
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
86 len = la_orig - lb_orig;
12c70d00c04e conv.m: Add "valid" as possible SHAPE parameter (Bug #34893)
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
87 y = y(lb_orig:lb_orig+len);
787
c5d35bb139b6 [project @ 1994-10-11 00:34:13 by jwe]
jwe
parents:
diff changeset
88 endif
c5d35bb139b6 [project @ 1994-10-11 00:34:13 by jwe]
jwe
parents:
diff changeset
89
c5d35bb139b6 [project @ 1994-10-11 00:34:13 by jwe]
jwe
parents:
diff changeset
90 endfunction
7411
83a8781b529d [project @ 2008-01-22 21:52:25 by jwe]
jwe
parents: 7017
diff changeset
91
13295
96c7143304d9 conv.m: Simplify algorithm and add more input validation and tests
Rik <octave@nomad.inbox5.com>
parents: 11523
diff changeset
92
9433
38a0f9dc0ab4 conv.m: fix Matlab incompatibility; new tests
Robert T. Short <octave@phaselockedsystems.com>
parents: 8920
diff changeset
93 %!test
14347
12c70d00c04e conv.m: Add "valid" as possible SHAPE parameter (Bug #34893)
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
94 %! x = ones (3,1);
12c70d00c04e conv.m: Add "valid" as possible SHAPE parameter (Bug #34893)
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
95 %! y = ones (1,3);
12c70d00c04e conv.m: Add "valid" as possible SHAPE parameter (Bug #34893)
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
96 %! b = 2;
12c70d00c04e conv.m: Add "valid" as possible SHAPE parameter (Bug #34893)
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
97 %! c = 3;
12c70d00c04e conv.m: Add "valid" as possible SHAPE parameter (Bug #34893)
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
98 %! assert (conv (x, x), [1; 2; 3; 2; 1]);
12c70d00c04e conv.m: Add "valid" as possible SHAPE parameter (Bug #34893)
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
99 %! assert (conv (y, y), [1, 2, 3, 2, 1]);
12c70d00c04e conv.m: Add "valid" as possible SHAPE parameter (Bug #34893)
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
100 %! assert (conv (x, y), [1, 2, 3, 2, 1]);
12c70d00c04e conv.m: Add "valid" as possible SHAPE parameter (Bug #34893)
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
101 %! assert (conv (y, x), [1; 2; 3; 2; 1]);
12c70d00c04e conv.m: Add "valid" as possible SHAPE parameter (Bug #34893)
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
102 %! assert (conv (c, x), [3; 3; 3]);
12c70d00c04e conv.m: Add "valid" as possible SHAPE parameter (Bug #34893)
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
103 %! assert (conv (c, y), [3, 3, 3]);
12c70d00c04e conv.m: Add "valid" as possible SHAPE parameter (Bug #34893)
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
104 %! assert (conv (x, c), [3; 3; 3]);
12c70d00c04e conv.m: Add "valid" as possible SHAPE parameter (Bug #34893)
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
105 %! assert (conv (y, c), [3, 3, 3]);
12c70d00c04e conv.m: Add "valid" as possible SHAPE parameter (Bug #34893)
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
106 %! assert (conv (b, c), 6);
11085
2beacd515e09 Update docstrings for convolution family of functions (conv, conv2, fftconv)
Rik <octave@nomad.inbox5.com>
parents: 11084
diff changeset
107
14347
12c70d00c04e conv.m: Add "valid" as possible SHAPE parameter (Bug #34893)
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
108 %!shared a,b
8158
15e4a450bf84 conv.m: Correct row/col orientation of output
Ben Abbott <bpabbott@mac.com>
parents: 7411
diff changeset
109 %!test
14347
12c70d00c04e conv.m: Add "valid" as possible SHAPE parameter (Bug #34893)
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
110 %! a = 1:10;
12c70d00c04e conv.m: Add "valid" as possible SHAPE parameter (Bug #34893)
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
111 %! b = 1:3;
14363
f3d52523cde1 Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents: 14352
diff changeset
112 %!assert (size (conv (a,b)), [1, numel(a)+numel(b)-1])
f3d52523cde1 Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents: 14352
diff changeset
113 %!assert (size (conv (b,a)), [1, numel(a)+numel(b)-1])
11082
4558aad4c41d conv.m: handle "same" shape argument
John W. Eaton <jwe@octave.org>
parents: 10224
diff changeset
114
13295
96c7143304d9 conv.m: Simplify algorithm and add more input validation and tests
Rik <octave@nomad.inbox5.com>
parents: 11523
diff changeset
115 %!test
14347
12c70d00c04e conv.m: Add "valid" as possible SHAPE parameter (Bug #34893)
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
116 %! a = (1:10).';
14363
f3d52523cde1 Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents: 14352
diff changeset
117 %!assert (size (conv (a,b)), [numel(a)+numel(b)-1, 1])
f3d52523cde1 Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents: 14352
diff changeset
118 %!assert (size (conv (b,a)), [numel(a)+numel(b)-1, 1])
14347
12c70d00c04e conv.m: Add "valid" as possible SHAPE parameter (Bug #34893)
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
119
12c70d00c04e conv.m: Add "valid" as possible SHAPE parameter (Bug #34893)
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
120 %!test
12c70d00c04e conv.m: Add "valid" as possible SHAPE parameter (Bug #34893)
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
121 %! a = 1:10;
12c70d00c04e conv.m: Add "valid" as possible SHAPE parameter (Bug #34893)
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
122 %! b = (1:3).';
14363
f3d52523cde1 Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents: 14352
diff changeset
123 %!assert (size (conv (a,b)), [1, numel(a)+numel(b)-1])
f3d52523cde1 Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents: 14352
diff changeset
124 %!assert (size (conv (b,a)), [1, numel(a)+numel(b)-1])
9433
38a0f9dc0ab4 conv.m: fix Matlab incompatibility; new tests
Robert T. Short <octave@phaselockedsystems.com>
parents: 8920
diff changeset
125
8158
15e4a450bf84 conv.m: Correct row/col orientation of output
Ben Abbott <bpabbott@mac.com>
parents: 7411
diff changeset
126 %!test
14347
12c70d00c04e conv.m: Add "valid" as possible SHAPE parameter (Bug #34893)
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
127 %! a = 1:10;
12c70d00c04e conv.m: Add "valid" as possible SHAPE parameter (Bug #34893)
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
128 %! b = 1:3;
12c70d00c04e conv.m: Add "valid" as possible SHAPE parameter (Bug #34893)
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
129
14363
f3d52523cde1 Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents: 14352
diff changeset
130 %!assert (conv (a,b,"full"), conv (a,b))
f3d52523cde1 Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents: 14352
diff changeset
131 %!assert (conv (b,a,"full"), conv (b,a))
11124
e79f59d31a74 Add tests for fftconv.m
Rik <octave@nomad.inbox5.com>
parents: 11085
diff changeset
132
14363
f3d52523cde1 Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents: 14352
diff changeset
133 %!assert (conv (a,b,"same"), [4, 10, 16, 22, 28, 34, 40, 46, 52, 47])
f3d52523cde1 Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents: 14352
diff changeset
134 %!assert (conv (b,a,"same"), [28, 34, 40])
11085
2beacd515e09 Update docstrings for convolution family of functions (conv, conv2, fftconv)
Rik <octave@nomad.inbox5.com>
parents: 11084
diff changeset
135
14363
f3d52523cde1 Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents: 14352
diff changeset
136 %!assert (conv (a,b,"valid"), [10, 16, 22, 28, 34, 40, 46, 52])
f3d52523cde1 Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents: 14352
diff changeset
137 %!assert (conv (b,a,"valid"), zeros (1,0))
14347
12c70d00c04e conv.m: Add "valid" as possible SHAPE parameter (Bug #34893)
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
138
11082
4558aad4c41d conv.m: handle "same" shape argument
John W. Eaton <jwe@octave.org>
parents: 10224
diff changeset
139
11085
2beacd515e09 Update docstrings for convolution family of functions (conv, conv2, fftconv)
Rik <octave@nomad.inbox5.com>
parents: 11084
diff changeset
140 %% Test input validation
13295
96c7143304d9 conv.m: Simplify algorithm and add more input validation and tests
Rik <octave@nomad.inbox5.com>
parents: 11523
diff changeset
141 %!error conv (1)
96c7143304d9 conv.m: Simplify algorithm and add more input validation and tests
Rik <octave@nomad.inbox5.com>
parents: 11523
diff changeset
142 %!error conv (1,2,3,4)
14347
12c70d00c04e conv.m: Add "valid" as possible SHAPE parameter (Bug #34893)
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
143 %!error <A and B must be vectors> conv ([1, 2; 3, 4], 3)
12c70d00c04e conv.m: Add "valid" as possible SHAPE parameter (Bug #34893)
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
144 %!error <A and B must be vectors> conv (3, [1, 2; 3, 4])
12c70d00c04e conv.m: Add "valid" as possible SHAPE parameter (Bug #34893)
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
145 %!error <SHAPE argument must be> conv (2, 3, "INVALID_SHAPE")
11124
e79f59d31a74 Add tests for fftconv.m
Rik <octave@nomad.inbox5.com>
parents: 11085
diff changeset
146