annotate scripts/general/trapz.m @ 20652:a3b9ee5c040a

Replace bsxfun with broadcasting for performance with complex inputs (bug #38628). cumtrapz.m, quadgk.m, trapz.m, center.m, zscore.m: Replace bsxfun with broadcasting for performance where inputs might be complex.
author Rik <rik@octave.org>
date Mon, 12 Oct 2015 21:28:32 -0700
parents 7503499a252b
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
19731
4197fc428c7d maint: Update copyright notices for 2015.
John W. Eaton <jwe@octave.org>
parents: 17744
diff changeset
1 ## Copyright (C) 2000-2015 Kai Habel
5820
27c966e4b2dc [project @ 2006-05-17 21:00:54 by jwe]
jwe
parents:
diff changeset
2 ##
27c966e4b2dc [project @ 2006-05-17 21:00:54 by jwe]
jwe
parents:
diff changeset
3 ## This file is part of Octave.
27c966e4b2dc [project @ 2006-05-17 21:00:54 by jwe]
jwe
parents:
diff changeset
4 ##
27c966e4b2dc [project @ 2006-05-17 21:00:54 by jwe]
jwe
parents:
diff changeset
5 ## Octave is free software; you can redistribute it and/or modify it
27c966e4b2dc [project @ 2006-05-17 21:00:54 by jwe]
jwe
parents:
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: 7001
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: 7001
diff changeset
8 ## your option) any later version.
5820
27c966e4b2dc [project @ 2006-05-17 21:00:54 by jwe]
jwe
parents:
diff changeset
9 ##
27c966e4b2dc [project @ 2006-05-17 21:00:54 by jwe]
jwe
parents:
diff changeset
10 ## Octave is distributed in the hope that it will be useful, but
27c966e4b2dc [project @ 2006-05-17 21:00:54 by jwe]
jwe
parents:
diff changeset
11 ## WITHOUT ANY WARRANTY; without even the implied warranty of
27c966e4b2dc [project @ 2006-05-17 21:00:54 by jwe]
jwe
parents:
diff changeset
12 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
27c966e4b2dc [project @ 2006-05-17 21:00:54 by jwe]
jwe
parents:
diff changeset
13 ## General Public License for more details.
27c966e4b2dc [project @ 2006-05-17 21:00:54 by jwe]
jwe
parents:
diff changeset
14 ##
27c966e4b2dc [project @ 2006-05-17 21:00:54 by jwe]
jwe
parents:
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: 7001
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: 7001
diff changeset
17 ## <http://www.gnu.org/licenses/>.
5820
27c966e4b2dc [project @ 2006-05-17 21:00:54 by jwe]
jwe
parents:
diff changeset
18
27c966e4b2dc [project @ 2006-05-17 21:00:54 by jwe]
jwe
parents:
diff changeset
19 ## -*- texinfo -*-
12612
16cca721117b doc: Update all documentation for chapter on Numerical Integration
Rik <octave@nomad.inbox5.com>
parents: 11587
diff changeset
20 ## @deftypefn {Function File} {@var{q} =} trapz (@var{y})
16cca721117b doc: Update all documentation for chapter on Numerical Integration
Rik <octave@nomad.inbox5.com>
parents: 11587
diff changeset
21 ## @deftypefnx {Function File} {@var{q} =} trapz (@var{x}, @var{y})
16cca721117b doc: Update all documentation for chapter on Numerical Integration
Rik <octave@nomad.inbox5.com>
parents: 11587
diff changeset
22 ## @deftypefnx {Function File} {@var{q} =} trapz (@dots{}, @var{dim})
16cca721117b doc: Update all documentation for chapter on Numerical Integration
Rik <octave@nomad.inbox5.com>
parents: 11587
diff changeset
23 ##
16cca721117b doc: Update all documentation for chapter on Numerical Integration
Rik <octave@nomad.inbox5.com>
parents: 11587
diff changeset
24 ## Numerically evaluate the integral of points @var{y} using the trapezoidal
16cca721117b doc: Update all documentation for chapter on Numerical Integration
Rik <octave@nomad.inbox5.com>
parents: 11587
diff changeset
25 ## method.
20193
7503499a252b doc: Update docstrings to have one sentence summary as first line.
Rik <rik@octave.org>
parents: 19867
diff changeset
26 ##
12612
16cca721117b doc: Update all documentation for chapter on Numerical Integration
Rik <octave@nomad.inbox5.com>
parents: 11587
diff changeset
27 ## @w{@code{trapz (@var{y})}} computes the integral of @var{y} along the first
20193
7503499a252b doc: Update docstrings to have one sentence summary as first line.
Rik <rik@octave.org>
parents: 19867
diff changeset
28 ## non-singleton dimension. When the argument @var{x} is omitted an equally
7503499a252b doc: Update docstrings to have one sentence summary as first line.
Rik <rik@octave.org>
parents: 19867
diff changeset
29 ## spaced @var{x} vector with unit spacing (1) is assumed.
7503499a252b doc: Update docstrings to have one sentence summary as first line.
Rik <rik@octave.org>
parents: 19867
diff changeset
30 ## @code{trapz (@var{x}, @var{y})} evaluates the integral with respect to the
7503499a252b doc: Update docstrings to have one sentence summary as first line.
Rik <rik@octave.org>
parents: 19867
diff changeset
31 ## spacing in @var{x} and the values in @var{y}. This is useful if the points
7503499a252b doc: Update docstrings to have one sentence summary as first line.
Rik <rik@octave.org>
parents: 19867
diff changeset
32 ## in @var{y} have been sampled unevenly.
7503499a252b doc: Update docstrings to have one sentence summary as first line.
Rik <rik@octave.org>
parents: 19867
diff changeset
33 ##
12612
16cca721117b doc: Update all documentation for chapter on Numerical Integration
Rik <octave@nomad.inbox5.com>
parents: 11587
diff changeset
34 ## If the optional @var{dim} argument is given, operate along this dimension.
11587
c792872f8942 all script files: untabify and strip trailing whitespace
John W. Eaton <jwe@octave.org>
parents: 11523
diff changeset
35 ##
20193
7503499a252b doc: Update docstrings to have one sentence summary as first line.
Rik <rik@octave.org>
parents: 19867
diff changeset
36 ## Application Note: If @var{x} is not specified then unit spacing will be
7503499a252b doc: Update docstrings to have one sentence summary as first line.
Rik <rik@octave.org>
parents: 19867
diff changeset
37 ## used. To scale the integral to the correct value you must multiply by the
7503499a252b doc: Update docstrings to have one sentence summary as first line.
Rik <rik@octave.org>
parents: 19867
diff changeset
38 ## actual spacing value (deltaX). As an example, the integral of @math{x^3}
7503499a252b doc: Update docstrings to have one sentence summary as first line.
Rik <rik@octave.org>
parents: 19867
diff changeset
39 ## over the range [0, 1] is @math{x^4/4} or 0.25. The following code uses
7503499a252b doc: Update docstrings to have one sentence summary as first line.
Rik <rik@octave.org>
parents: 19867
diff changeset
40 ## @code{trapz} to calculate the integral in three different ways.
12612
16cca721117b doc: Update all documentation for chapter on Numerical Integration
Rik <octave@nomad.inbox5.com>
parents: 11587
diff changeset
41 ##
16cca721117b doc: Update all documentation for chapter on Numerical Integration
Rik <octave@nomad.inbox5.com>
parents: 11587
diff changeset
42 ## @example
16cca721117b doc: Update all documentation for chapter on Numerical Integration
Rik <octave@nomad.inbox5.com>
parents: 11587
diff changeset
43 ## @group
16cca721117b doc: Update all documentation for chapter on Numerical Integration
Rik <octave@nomad.inbox5.com>
parents: 11587
diff changeset
44 ## x = 0:0.1:1;
16cca721117b doc: Update all documentation for chapter on Numerical Integration
Rik <octave@nomad.inbox5.com>
parents: 11587
diff changeset
45 ## y = x.^3;
16cca721117b doc: Update all documentation for chapter on Numerical Integration
Rik <octave@nomad.inbox5.com>
parents: 11587
diff changeset
46 ## q = trapz (y)
16cca721117b doc: Update all documentation for chapter on Numerical Integration
Rik <octave@nomad.inbox5.com>
parents: 11587
diff changeset
47 ## @result{} q = 2.525 # No scaling
16cca721117b doc: Update all documentation for chapter on Numerical Integration
Rik <octave@nomad.inbox5.com>
parents: 11587
diff changeset
48 ## q * 0.1
16cca721117b doc: Update all documentation for chapter on Numerical Integration
Rik <octave@nomad.inbox5.com>
parents: 11587
diff changeset
49 ## @result{} q = 0.2525 # Approximation to integral by scaling
12642
f96b9b9f141b doc: Periodic grammarcheck and spellcheck of documentation.
Rik <octave@nomad.inbox5.com>
parents: 12612
diff changeset
50 ## trapz (x, y)
12612
16cca721117b doc: Update all documentation for chapter on Numerical Integration
Rik <octave@nomad.inbox5.com>
parents: 11587
diff changeset
51 ## @result{} q = 0.2525 # Same result by specifying @var{x}
16cca721117b doc: Update all documentation for chapter on Numerical Integration
Rik <octave@nomad.inbox5.com>
parents: 11587
diff changeset
52 ## @end group
16cca721117b doc: Update all documentation for chapter on Numerical Integration
Rik <octave@nomad.inbox5.com>
parents: 11587
diff changeset
53 ## @end example
11587
c792872f8942 all script files: untabify and strip trailing whitespace
John W. Eaton <jwe@octave.org>
parents: 11523
diff changeset
54 ##
5820
27c966e4b2dc [project @ 2006-05-17 21:00:54 by jwe]
jwe
parents:
diff changeset
55 ## @seealso{cumtrapz}
27c966e4b2dc [project @ 2006-05-17 21:00:54 by jwe]
jwe
parents:
diff changeset
56 ## @end deftypefn
27c966e4b2dc [project @ 2006-05-17 21:00:54 by jwe]
jwe
parents:
diff changeset
57
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 9051
diff changeset
58 ## Author: Kai Habel <kai.habel@gmx.de>
5820
27c966e4b2dc [project @ 2006-05-17 21:00:54 by jwe]
jwe
parents:
diff changeset
59 ##
11587
c792872f8942 all script files: untabify and strip trailing whitespace
John W. Eaton <jwe@octave.org>
parents: 11523
diff changeset
60 ## also: June 2000 - Paul Kienzle (fixes,suggestions)
5820
27c966e4b2dc [project @ 2006-05-17 21:00:54 by jwe]
jwe
parents:
diff changeset
61 ## 2006-05-12 David Bateman - Modified for NDArrays
27c966e4b2dc [project @ 2006-05-17 21:00:54 by jwe]
jwe
parents:
diff changeset
62
27c966e4b2dc [project @ 2006-05-17 21:00:54 by jwe]
jwe
parents:
diff changeset
63 function z = trapz (x, y, dim)
11587
c792872f8942 all script files: untabify and strip trailing whitespace
John W. Eaton <jwe@octave.org>
parents: 11523
diff changeset
64
5820
27c966e4b2dc [project @ 2006-05-17 21:00:54 by jwe]
jwe
parents:
diff changeset
65 if (nargin < 1) || (nargin > 3)
6046
34f96dd5441b [project @ 2006-10-10 16:10:25 by jwe]
jwe
parents: 5820
diff changeset
66 print_usage ();
5820
27c966e4b2dc [project @ 2006-05-17 21:00:54 by jwe]
jwe
parents:
diff changeset
67 endif
27c966e4b2dc [project @ 2006-05-17 21:00:54 by jwe]
jwe
parents:
diff changeset
68
12667
d8aff843a9e9 Accept input x vector with y matrix for trapz,cumtrapz (bug #33292).
Rik <octave@nomad.inbox5.com>
parents: 12642
diff changeset
69 have_xy = have_dim = false;
5820
27c966e4b2dc [project @ 2006-05-17 21:00:54 by jwe]
jwe
parents:
diff changeset
70
27c966e4b2dc [project @ 2006-05-17 21:00:54 by jwe]
jwe
parents:
diff changeset
71 if (nargin == 3)
12667
d8aff843a9e9 Accept input x vector with y matrix for trapz,cumtrapz (bug #33292).
Rik <octave@nomad.inbox5.com>
parents: 12642
diff changeset
72 have_xy = true;
5820
27c966e4b2dc [project @ 2006-05-17 21:00:54 by jwe]
jwe
parents:
diff changeset
73 have_dim = true;
12667
d8aff843a9e9 Accept input x vector with y matrix for trapz,cumtrapz (bug #33292).
Rik <octave@nomad.inbox5.com>
parents: 12642
diff changeset
74 elseif (nargin == 2)
6157
045038e0108a [project @ 2006-11-13 22:22:53 by jwe]
jwe
parents: 6046
diff changeset
75 if (! size_equal (x, y) && isscalar (y))
5820
27c966e4b2dc [project @ 2006-05-17 21:00:54 by jwe]
jwe
parents:
diff changeset
76 dim = y;
27c966e4b2dc [project @ 2006-05-17 21:00:54 by jwe]
jwe
parents:
diff changeset
77 have_dim = true;
27c966e4b2dc [project @ 2006-05-17 21:00:54 by jwe]
jwe
parents:
diff changeset
78 else
12667
d8aff843a9e9 Accept input x vector with y matrix for trapz,cumtrapz (bug #33292).
Rik <octave@nomad.inbox5.com>
parents: 12642
diff changeset
79 have_xy = true;
5820
27c966e4b2dc [project @ 2006-05-17 21:00:54 by jwe]
jwe
parents:
diff changeset
80 endif
27c966e4b2dc [project @ 2006-05-17 21:00:54 by jwe]
jwe
parents:
diff changeset
81 endif
27c966e4b2dc [project @ 2006-05-17 21:00:54 by jwe]
jwe
parents:
diff changeset
82
12667
d8aff843a9e9 Accept input x vector with y matrix for trapz,cumtrapz (bug #33292).
Rik <octave@nomad.inbox5.com>
parents: 12642
diff changeset
83 if (have_xy)
d8aff843a9e9 Accept input x vector with y matrix for trapz,cumtrapz (bug #33292).
Rik <octave@nomad.inbox5.com>
parents: 12642
diff changeset
84 nd = ndims (y);
d8aff843a9e9 Accept input x vector with y matrix for trapz,cumtrapz (bug #33292).
Rik <octave@nomad.inbox5.com>
parents: 12642
diff changeset
85 sz = size (y);
d8aff843a9e9 Accept input x vector with y matrix for trapz,cumtrapz (bug #33292).
Rik <octave@nomad.inbox5.com>
parents: 12642
diff changeset
86 else
d8aff843a9e9 Accept input x vector with y matrix for trapz,cumtrapz (bug #33292).
Rik <octave@nomad.inbox5.com>
parents: 12642
diff changeset
87 nd = ndims (x);
d8aff843a9e9 Accept input x vector with y matrix for trapz,cumtrapz (bug #33292).
Rik <octave@nomad.inbox5.com>
parents: 12642
diff changeset
88 sz = size (x);
d8aff843a9e9 Accept input x vector with y matrix for trapz,cumtrapz (bug #33292).
Rik <octave@nomad.inbox5.com>
parents: 12642
diff changeset
89 endif
d8aff843a9e9 Accept input x vector with y matrix for trapz,cumtrapz (bug #33292).
Rik <octave@nomad.inbox5.com>
parents: 12642
diff changeset
90
5820
27c966e4b2dc [project @ 2006-05-17 21:00:54 by jwe]
jwe
parents:
diff changeset
91 if (! have_dim)
10690
35adf2a71f3f Use common code block to find first non-singleton dimension.
Rik <octave@nomad.inbox5.com>
parents: 10549
diff changeset
92 ## Find the first non-singleton dimension.
12667
d8aff843a9e9 Accept input x vector with y matrix for trapz,cumtrapz (bug #33292).
Rik <octave@nomad.inbox5.com>
parents: 12642
diff changeset
93 (dim = find (sz > 1, 1)) || (dim = 1);
5820
27c966e4b2dc [project @ 2006-05-17 21:00:54 by jwe]
jwe
parents:
diff changeset
94 else
12667
d8aff843a9e9 Accept input x vector with y matrix for trapz,cumtrapz (bug #33292).
Rik <octave@nomad.inbox5.com>
parents: 12642
diff changeset
95 if (!(isscalar (dim) && dim == fix (dim))
d8aff843a9e9 Accept input x vector with y matrix for trapz,cumtrapz (bug #33292).
Rik <octave@nomad.inbox5.com>
parents: 12642
diff changeset
96 || !(1 <= dim && dim <= nd))
d8aff843a9e9 Accept input x vector with y matrix for trapz,cumtrapz (bug #33292).
Rik <octave@nomad.inbox5.com>
parents: 12642
diff changeset
97 error ("trapz: DIM must be an integer and a valid dimension");
5820
27c966e4b2dc [project @ 2006-05-17 21:00:54 by jwe]
jwe
parents:
diff changeset
98 endif
27c966e4b2dc [project @ 2006-05-17 21:00:54 by jwe]
jwe
parents:
diff changeset
99 endif
11587
c792872f8942 all script files: untabify and strip trailing whitespace
John W. Eaton <jwe@octave.org>
parents: 11523
diff changeset
100
5820
27c966e4b2dc [project @ 2006-05-17 21:00:54 by jwe]
jwe
parents:
diff changeset
101 n = sz(dim);
12675
2e9cf640379b trapz.m, cumtrapz.m: Quote ':' in initialization statement to prevent it being
Rik <octave@nomad.inbox5.com>
parents: 12667
diff changeset
102 idx1 = idx2 = repmat ({':'}, [nd, 1]);
11587
c792872f8942 all script files: untabify and strip trailing whitespace
John W. Eaton <jwe@octave.org>
parents: 11523
diff changeset
103 idx1{dim} = 2 : n;
5820
27c966e4b2dc [project @ 2006-05-17 21:00:54 by jwe]
jwe
parents:
diff changeset
104 idx2{dim} = 1 : (n - 1);
27c966e4b2dc [project @ 2006-05-17 21:00:54 by jwe]
jwe
parents:
diff changeset
105
12667
d8aff843a9e9 Accept input x vector with y matrix for trapz,cumtrapz (bug #33292).
Rik <octave@nomad.inbox5.com>
parents: 12642
diff changeset
106 if (! have_xy)
5820
27c966e4b2dc [project @ 2006-05-17 21:00:54 by jwe]
jwe
parents:
diff changeset
107 z = 0.5 * sum (x(idx1{:}) + x(idx2{:}), dim);
27c966e4b2dc [project @ 2006-05-17 21:00:54 by jwe]
jwe
parents:
diff changeset
108 else
19867
9fc020886ae9 maint: Clean up m-files to follow Octave coding conventions.
Rik <rik@octave.org>
parents: 19731
diff changeset
109 if (isvector (x) && ! isvector (y))
12667
d8aff843a9e9 Accept input x vector with y matrix for trapz,cumtrapz (bug #33292).
Rik <octave@nomad.inbox5.com>
parents: 12642
diff changeset
110 if (length (x) != sz(dim))
d8aff843a9e9 Accept input x vector with y matrix for trapz,cumtrapz (bug #33292).
Rik <octave@nomad.inbox5.com>
parents: 12642
diff changeset
111 error ("trapz: length of X and length of Y along DIM must match");
d8aff843a9e9 Accept input x vector with y matrix for trapz,cumtrapz (bug #33292).
Rik <octave@nomad.inbox5.com>
parents: 12642
diff changeset
112 endif
d8aff843a9e9 Accept input x vector with y matrix for trapz,cumtrapz (bug #33292).
Rik <octave@nomad.inbox5.com>
parents: 12642
diff changeset
113 ## Reshape vector to point along dimension DIM
d8aff843a9e9 Accept input x vector with y matrix for trapz,cumtrapz (bug #33292).
Rik <octave@nomad.inbox5.com>
parents: 12642
diff changeset
114 shape = ones (nd, 1);
d8aff843a9e9 Accept input x vector with y matrix for trapz,cumtrapz (bug #33292).
Rik <octave@nomad.inbox5.com>
parents: 12642
diff changeset
115 shape(dim) = sz(dim);
d8aff843a9e9 Accept input x vector with y matrix for trapz,cumtrapz (bug #33292).
Rik <octave@nomad.inbox5.com>
parents: 12642
diff changeset
116 x = reshape (x, shape);
20652
a3b9ee5c040a Replace bsxfun with broadcasting for performance with complex inputs (bug #38628).
Rik <rik@octave.org>
parents: 20193
diff changeset
117 z = 0.5 * sum (diff (x) .* (y(idx1{:}) + y(idx2{:})), dim);
12667
d8aff843a9e9 Accept input x vector with y matrix for trapz,cumtrapz (bug #33292).
Rik <octave@nomad.inbox5.com>
parents: 12642
diff changeset
118 else
d8aff843a9e9 Accept input x vector with y matrix for trapz,cumtrapz (bug #33292).
Rik <octave@nomad.inbox5.com>
parents: 12642
diff changeset
119 if (! size_equal (x, y))
d8aff843a9e9 Accept input x vector with y matrix for trapz,cumtrapz (bug #33292).
Rik <octave@nomad.inbox5.com>
parents: 12642
diff changeset
120 error ("trapz: X and Y must have same shape");
d8aff843a9e9 Accept input x vector with y matrix for trapz,cumtrapz (bug #33292).
Rik <octave@nomad.inbox5.com>
parents: 12642
diff changeset
121 endif
d8aff843a9e9 Accept input x vector with y matrix for trapz,cumtrapz (bug #33292).
Rik <octave@nomad.inbox5.com>
parents: 12642
diff changeset
122 z = 0.5 * sum (diff (x, 1, dim) .* (y(idx1{:}) + y(idx2{:})), dim);
5820
27c966e4b2dc [project @ 2006-05-17 21:00:54 by jwe]
jwe
parents:
diff changeset
123 endif
27c966e4b2dc [project @ 2006-05-17 21:00:54 by jwe]
jwe
parents:
diff changeset
124 endif
27c966e4b2dc [project @ 2006-05-17 21:00:54 by jwe]
jwe
parents:
diff changeset
125 endfunction
27c966e4b2dc [project @ 2006-05-17 21:00:54 by jwe]
jwe
parents:
diff changeset
126
12667
d8aff843a9e9 Accept input x vector with y matrix for trapz,cumtrapz (bug #33292).
Rik <octave@nomad.inbox5.com>
parents: 12642
diff changeset
127
14363
f3d52523cde1 Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
128 %!assert (trapz (1:5), 12)
f3d52523cde1 Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
129 %!assert (trapz (0:0.5:2,1:5), 6)
f3d52523cde1 Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
130 %!assert (trapz ([1:5;1:5].',1), [12,12])
f3d52523cde1 Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
131 %!assert (trapz ([1:5;1:5],2), [12;12])
f3d52523cde1 Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
132 %!assert (trapz (repmat (reshape (1:5,1,1,5),2,2), 3), [12 12; 12 12])
f3d52523cde1 Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
133 %!assert (trapz ([0:0.5:2;0:0.5:2].',[1:5;1:5].',1), [6, 6])
f3d52523cde1 Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
134 %!assert (trapz ([0:0.5:2;0:0.5:2],[1:5;1:5],2), [6; 6])
f3d52523cde1 Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
135 %!assert (trapz (repmat (reshape ([0:0.5:2],1,1,5),2,2), ...
f3d52523cde1 Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
136 %! repmat (reshape (1:5,1,1,5),2,2), 3), [6 6; 6 6])
f3d52523cde1 Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
137 %!assert (trapz (0:0.5:2,[(1:5)',(1:5)']), [6, 6])
f3d52523cde1 Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
138 %!assert (trapz (0:0.5:2,[(1:5);(1:5)],2), [6; 6])
f3d52523cde1 Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
139 %!assert (trapz (0:0.5:2,repmat (reshape (1:5,1,1,5),2,2),3), [6 6; 6 6])
12667
d8aff843a9e9 Accept input x vector with y matrix for trapz,cumtrapz (bug #33292).
Rik <octave@nomad.inbox5.com>
parents: 12642
diff changeset
140