Mercurial > hg > octave-nkf
annotate scripts/polynomial/polyint.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 | d63878346099 |
rev | line source |
---|---|
14138
72c96de7a403
maint: update copyright notices for 2012
John W. Eaton <jwe@octave.org>
parents:
14104
diff
changeset
|
1 ## Copyright (C) 1996-2012 John W. Eaton |
6853 | 2 ## |
3 ## This file is part of Octave. | |
4 ## | |
5 ## Octave is free software; you can redistribute it and/or modify it | |
6 ## under the terms of the GNU General Public License as published by | |
7016 | 7 ## the Free Software Foundation; either version 3 of the License, or (at |
8 ## your option) any later version. | |
6853 | 9 ## |
10 ## Octave is distributed in the hope that it will be useful, but | |
11 ## WITHOUT ANY WARRANTY; without even the implied warranty of | |
12 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
13 ## General Public License for more details. | |
14 ## | |
15 ## You should have received a copy of the GNU General Public License | |
7016 | 16 ## along with Octave; see the file COPYING. If not, see |
17 ## <http://www.gnu.org/licenses/>. | |
6853 | 18 |
19 ## -*- texinfo -*- | |
11469
c776f063fefe
Overhaul m-script files to use common variable name between code and documentation.
Rik <octave@nomad.inbox5.com>
parents:
10635
diff
changeset
|
20 ## @deftypefn {Function File} {} polyint (@var{p}) |
c776f063fefe
Overhaul m-script files to use common variable name between code and documentation.
Rik <octave@nomad.inbox5.com>
parents:
10635
diff
changeset
|
21 ## @deftypefnx {Function File} {} polyint (@var{p}, @var{k}) |
6853 | 22 ## Return the coefficients of the integral of the polynomial whose |
11469
c776f063fefe
Overhaul m-script files to use common variable name between code and documentation.
Rik <octave@nomad.inbox5.com>
parents:
10635
diff
changeset
|
23 ## coefficients are represented by the vector @var{p}. The variable |
6853 | 24 ## @var{k} is the constant of integration, which by default is set to zero. |
14104
614505385171
doc: Overhaul docstrings for polynomial functions.
Rik <octave@nomad.inbox5.com>
parents:
13963
diff
changeset
|
25 ## @seealso{polyder, polyval} |
6853 | 26 ## @end deftypefn |
27 | |
28 ## Author: Tony Richardson <arichard@stark.cc.oh.us> | |
29 ## Created: June 1994 | |
30 ## Adapted-By: jwe | |
31 | |
11469
c776f063fefe
Overhaul m-script files to use common variable name between code and documentation.
Rik <octave@nomad.inbox5.com>
parents:
10635
diff
changeset
|
32 function retval = polyint (p, k) |
6853 | 33 |
34 if (nargin < 1 || nargin > 2) | |
35 print_usage (); | |
36 endif | |
37 | |
38 if (nargin == 1) | |
39 k = 0; | |
40 elseif (! isscalar (k)) | |
41 error ("polyint: the constant of integration must be a scalar"); | |
42 endif | |
43 | |
44 if (! (isvector (p) || isempty (p))) | |
10635
d1978e7364ad
Print name of function in error() string messages.
Rik <octave@nomad.inbox5.com>
parents:
9245
diff
changeset
|
45 error ("polyint: argument must be a vector"); |
6853 | 46 endif |
47 | |
48 lp = length (p); | |
49 | |
50 if (lp == 0) | |
11469
c776f063fefe
Overhaul m-script files to use common variable name between code and documentation.
Rik <octave@nomad.inbox5.com>
parents:
10635
diff
changeset
|
51 retval = []; |
6853 | 52 return; |
7151 | 53 endif |
6853 | 54 |
55 if (rows (p) > 1) | |
56 ## Convert to column vector | |
57 p = p.'; | |
58 endif | |
59 | |
11469
c776f063fefe
Overhaul m-script files to use common variable name between code and documentation.
Rik <octave@nomad.inbox5.com>
parents:
10635
diff
changeset
|
60 retval = [(p ./ [lp:-1:1]), k]; |
6853 | 61 |
62 endfunction | |
12854
4e9576618df8
codesprint: Wrote 2 tests for polyint.m
Andriy Shinkarchuck <adriano32.gnu@gmail.com>
parents:
11523
diff
changeset
|
63 |
14363
f3d52523cde1
Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
64 |
12854
4e9576618df8
codesprint: Wrote 2 tests for polyint.m
Andriy Shinkarchuck <adriano32.gnu@gmail.com>
parents:
11523
diff
changeset
|
65 %!test |
4e9576618df8
codesprint: Wrote 2 tests for polyint.m
Andriy Shinkarchuck <adriano32.gnu@gmail.com>
parents:
11523
diff
changeset
|
66 %! A = [3, 2, 1]; |
14363
f3d52523cde1
Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
67 %! assert (polyint (A), polyint (A,0)); |
f3d52523cde1
Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
68 %! assert (polyint (A), polyint (A')); |
f3d52523cde1
Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
69 %! assert (polyint (A), [1, 1, 1, 0]); |
f3d52523cde1
Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
70 %! assert (polyint (A,1), ones (1,4)); |
12854
4e9576618df8
codesprint: Wrote 2 tests for polyint.m
Andriy Shinkarchuck <adriano32.gnu@gmail.com>
parents:
11523
diff
changeset
|
71 |
4e9576618df8
codesprint: Wrote 2 tests for polyint.m
Andriy Shinkarchuck <adriano32.gnu@gmail.com>
parents:
11523
diff
changeset
|
72 %!test |
14363
f3d52523cde1
Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
73 %! A = ones (1,8); |
12854
4e9576618df8
codesprint: Wrote 2 tests for polyint.m
Andriy Shinkarchuck <adriano32.gnu@gmail.com>
parents:
11523
diff
changeset
|
74 %! B = [length(A):-1:1]; |
14363
f3d52523cde1
Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
75 %! assert (polyint (A), [1./B, 0]); |
12854
4e9576618df8
codesprint: Wrote 2 tests for polyint.m
Andriy Shinkarchuck <adriano32.gnu@gmail.com>
parents:
11523
diff
changeset
|
76 |
14363
f3d52523cde1
Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
77 %!error polyint () |
f3d52523cde1
Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
78 %!error polyint (ones (2,2)) |
f3d52523cde1
Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
79 |