Mercurial > octave
annotate scripts/statistics/var.m @ 31307:94dc0f5ba8a3
var.m: Add two-output tests for Inf and NaN inputs (bug #63203)
* var.m: Convert BISTs for Inf and NaN input values from one line tests for
variance to tests that check both variance and the optional median output.
author | Nicholas R. Jankowski <jankowski.nicholas@gmail.com> |
---|---|
date | Sat, 15 Oct 2022 09:41:44 -0400 |
parents | ef3cd4d7691f |
children | c549b2401c38 |
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:
30410
diff
changeset
|
3 ## Copyright (C) 1995-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/>. |
3426 | 7 ## |
3922 | 8 ## This file is part of Octave. |
9 ## | |
24534
194eb4bd202b
maint: Update punctuation for GPL v3 license text.
Rik <rik@octave.org>
parents:
24512
diff
changeset
|
10 ## Octave is free software: you can redistribute it and/or modify it |
3922 | 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:
24512
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. |
3426 | 14 ## |
3922 | 15 ## Octave is distributed in the hope that it will be useful, but |
3200 | 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. |
3426 | 19 ## |
3200 | 20 ## You should have received a copy of the GNU General Public License |
7016 | 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:
24512
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 ######################################################################## |
3200 | 25 |
3453 | 26 ## -*- texinfo -*- |
30997
5330efaf9476
Add optional second output to var and std (bug #62395)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
30617
diff
changeset
|
27 ## @deftypefn {} {@var{v} =} var (@var{x}) |
5330efaf9476
Add optional second output to var and std (bug #62395)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
30617
diff
changeset
|
28 ## @deftypefnx {} {@var{v} =} var (@var{x}, @var{w}) |
5330efaf9476
Add optional second output to var and std (bug #62395)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
30617
diff
changeset
|
29 ## @deftypefnx {} {@var{v} =} var (@var{x}, @var{w}, @var{dim}) |
5330efaf9476
Add optional second output to var and std (bug #62395)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
30617
diff
changeset
|
30 ## @deftypefnx {} {@var{v} =} var (@var{x}, @var{w}, @qcode{"ALL"}) |
5330efaf9476
Add optional second output to var and std (bug #62395)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
30617
diff
changeset
|
31 ## @deftypefnx {} {[@var{v}, @var{m}] =} var (@dots{}) |
11436
e151e23f73bc
Overhaul base statistics functions and documentation of same.
Rik <octave@nomad.inbox5.com>
parents:
10821
diff
changeset
|
32 ## Compute the variance of the elements of the vector @var{x}. |
20174
d9341b422488
doc: Update more docstrings to have one sentence summary as first line.
Rik <rik@octave.org>
parents:
19833
diff
changeset
|
33 ## |
d9341b422488
doc: Update more docstrings to have one sentence summary as first line.
Rik <rik@octave.org>
parents:
19833
diff
changeset
|
34 ## The variance is defined as |
11436
e151e23f73bc
Overhaul base statistics functions and documentation of same.
Rik <octave@nomad.inbox5.com>
parents:
10821
diff
changeset
|
35 ## @tex |
e151e23f73bc
Overhaul base statistics functions and documentation of same.
Rik <octave@nomad.inbox5.com>
parents:
10821
diff
changeset
|
36 ## $$ |
13795
50ceb5c51271
var.m: Fix bug in docstring referring to std (Bug #34729).
Rik <octave@nomad.inbox5.com>
parents:
12575
diff
changeset
|
37 ## {\rm var} (x) = \sigma^2 = {\sum_{i=1}^N (x_i - \bar{x})^2 \over N - 1} |
11436
e151e23f73bc
Overhaul base statistics functions and documentation of same.
Rik <octave@nomad.inbox5.com>
parents:
10821
diff
changeset
|
38 ## $$ |
24511
4f0e6ee6c9b8
Make documentation Sec 26.1 more consistent and Sec 25.4 clearer (bug #52685)
Daniel J Sebald <daniel.sebald@ieee.org>
parents:
23219
diff
changeset
|
39 ## where $\bar{x}$ is the mean value of @var{x} and $N$ is the number of |
4f0e6ee6c9b8
Make documentation Sec 26.1 more consistent and Sec 25.4 clearer (bug #52685)
Daniel J Sebald <daniel.sebald@ieee.org>
parents:
23219
diff
changeset
|
40 ## elements of @var{x}. |
4f0e6ee6c9b8
Make documentation Sec 26.1 more consistent and Sec 25.4 clearer (bug #52685)
Daniel J Sebald <daniel.sebald@ieee.org>
parents:
23219
diff
changeset
|
41 ## |
11436
e151e23f73bc
Overhaul base statistics functions and documentation of same.
Rik <octave@nomad.inbox5.com>
parents:
10821
diff
changeset
|
42 ## @end tex |
e151e23f73bc
Overhaul base statistics functions and documentation of same.
Rik <octave@nomad.inbox5.com>
parents:
10821
diff
changeset
|
43 ## @ifnottex |
4849 | 44 ## |
11436
e151e23f73bc
Overhaul base statistics functions and documentation of same.
Rik <octave@nomad.inbox5.com>
parents:
10821
diff
changeset
|
45 ## @example |
e151e23f73bc
Overhaul base statistics functions and documentation of same.
Rik <octave@nomad.inbox5.com>
parents:
10821
diff
changeset
|
46 ## @group |
24511
4f0e6ee6c9b8
Make documentation Sec 26.1 more consistent and Sec 25.4 clearer (bug #52685)
Daniel J Sebald <daniel.sebald@ieee.org>
parents:
23219
diff
changeset
|
47 ## var (@var{x}) = 1/(N-1) SUM_i (@var{x}(i) - mean(@var{x}))^2 |
11436
e151e23f73bc
Overhaul base statistics functions and documentation of same.
Rik <octave@nomad.inbox5.com>
parents:
10821
diff
changeset
|
48 ## @end group |
e151e23f73bc
Overhaul base statistics functions and documentation of same.
Rik <octave@nomad.inbox5.com>
parents:
10821
diff
changeset
|
49 ## @end example |
e151e23f73bc
Overhaul base statistics functions and documentation of same.
Rik <octave@nomad.inbox5.com>
parents:
10821
diff
changeset
|
50 ## |
24985
d85b2485af9e
doc: grammarcheck m-files ahead of 4.4 release.
Rik <rik@octave.org>
parents:
24547
diff
changeset
|
51 ## @noindent |
24511
4f0e6ee6c9b8
Make documentation Sec 26.1 more consistent and Sec 25.4 clearer (bug #52685)
Daniel J Sebald <daniel.sebald@ieee.org>
parents:
23219
diff
changeset
|
52 ## where @math{N} is the length of the @var{x} vector. |
4f0e6ee6c9b8
Make documentation Sec 26.1 more consistent and Sec 25.4 clearer (bug #52685)
Daniel J Sebald <daniel.sebald@ieee.org>
parents:
23219
diff
changeset
|
53 ## |
11436
e151e23f73bc
Overhaul base statistics functions and documentation of same.
Rik <octave@nomad.inbox5.com>
parents:
10821
diff
changeset
|
54 ## @end ifnottex |
30998 | 55 ## If @var{x} is an array, compute the variance for each column and return them |
56 ## in a row vector (or for an n-D array, the result is returned as an array of | |
57 ## dimension 1 x n x m x @dots{}). | |
11587
c792872f8942
all script files: untabify and strip trailing whitespace
John W. Eaton <jwe@octave.org>
parents:
11523
diff
changeset
|
58 ## |
30410
bc0de453fb6a
extend var and std with dim options (bug #58116) and weights (patch #10103)
Stefano Guidoni <ilguido@users.sf.net>
parents:
29359
diff
changeset
|
59 ## The optional argument @var{w} determines the weighting scheme to use. Valid |
bc0de453fb6a
extend var and std with dim options (bug #58116) and weights (patch #10103)
Stefano Guidoni <ilguido@users.sf.net>
parents:
29359
diff
changeset
|
60 ## values are |
4849 | 61 ## |
11587
c792872f8942
all script files: untabify and strip trailing whitespace
John W. Eaton <jwe@octave.org>
parents:
11523
diff
changeset
|
62 ## @table @asis |
30410
bc0de453fb6a
extend var and std with dim options (bug #58116) and weights (patch #10103)
Stefano Guidoni <ilguido@users.sf.net>
parents:
29359
diff
changeset
|
63 ## @item 0 [default]: |
bc0de453fb6a
extend var and std with dim options (bug #58116) and weights (patch #10103)
Stefano Guidoni <ilguido@users.sf.net>
parents:
29359
diff
changeset
|
64 ## Normalize with @math{N-1}. This provides the square root of the best |
bc0de453fb6a
extend var and std with dim options (bug #58116) and weights (patch #10103)
Stefano Guidoni <ilguido@users.sf.net>
parents:
29359
diff
changeset
|
65 ## unbiased estimator of the variance. |
10821
693e22af08ae
Grammarcheck documentation of m-files
Rik <octave@nomad.inbox5.com>
parents:
10549
diff
changeset
|
66 ## |
4849 | 67 ## @item 1: |
30998 | 68 ## Normalize with @math{N}@. This provides the square root of the second |
69 ## moment around the mean. | |
30410
bc0de453fb6a
extend var and std with dim options (bug #58116) and weights (patch #10103)
Stefano Guidoni <ilguido@users.sf.net>
parents:
29359
diff
changeset
|
70 ## |
bc0de453fb6a
extend var and std with dim options (bug #58116) and weights (patch #10103)
Stefano Guidoni <ilguido@users.sf.net>
parents:
29359
diff
changeset
|
71 ## @item a vector: |
30998 | 72 ## Compute the weighted variance with non-negative scalar weights. The length |
73 ## of @var{w} must equal the size of @var{x} along dimension @var{dim}. | |
4849 | 74 ## @end table |
75 ## | |
30998 | 76 ## If @math{N} is equal to 1 the value of @var{W} is ignored and normalization |
77 ## by @math{N} is used. | |
14273
bedccd0abe39
Add comment in var.m docs about behaviour when input is a scalar
Carlo de Falco <kingcrimson@tiscali.it>
parents:
14138
diff
changeset
|
78 ## |
30410
bc0de453fb6a
extend var and std with dim options (bug #58116) and weights (patch #10103)
Stefano Guidoni <ilguido@users.sf.net>
parents:
29359
diff
changeset
|
79 ## The optional variable @var{dim} forces @code{var} to operate over the |
30998 | 80 ## specified dimension(s). @var{dim} can either be a scalar dimension or a |
81 ## vector of non-repeating dimensions. Dimensions must be positive integers, | |
82 ## and the variance is calculated over the array slice defined by @var{dim}. | |
30410
bc0de453fb6a
extend var and std with dim options (bug #58116) and weights (patch #10103)
Stefano Guidoni <ilguido@users.sf.net>
parents:
29359
diff
changeset
|
83 ## |
30998 | 84 ## Specifying dimension @qcode{"all"} will force @code{var} to operate on all |
30410
bc0de453fb6a
extend var and std with dim options (bug #58116) and weights (patch #10103)
Stefano Guidoni <ilguido@users.sf.net>
parents:
29359
diff
changeset
|
85 ## elements of @var{x}, and is equivalent to @code{var (@var{x}(:))}. |
bc0de453fb6a
extend var and std with dim options (bug #58116) and weights (patch #10103)
Stefano Guidoni <ilguido@users.sf.net>
parents:
29359
diff
changeset
|
86 ## |
30998 | 87 ## When @var{dim} is a vector or @qcode{"all"}, @var{w} must be either 0 or 1. |
30997
5330efaf9476
Add optional second output to var and std (bug #62395)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
30617
diff
changeset
|
88 ## |
30998 | 89 ## The optional second output variable @var{mu} contains the mean or weighted |
90 ## mean used to calculate @var{v}, and will be the same size as @var{v}. | |
12575
d0b799dafede
Grammarcheck files for 3.4.1 release.
Rik <octave@nomad.inbox5.com>
parents:
11587
diff
changeset
|
91 ## @seealso{cov, std, skewness, kurtosis, moment} |
3453 | 92 ## @end deftypefn |
3426 | 93 |
30998 | 94 function [v, mu] = var (x, w = 0, dim = []) |
3426 | 95 |
28789
28de41192f3c
Eliminate unneeded verification of nargin, nargout in m-files.
Rik <rik@octave.org>
parents:
27984
diff
changeset
|
96 if (nargin < 1) |
6046 | 97 print_usage (); |
4849 | 98 endif |
11436
e151e23f73bc
Overhaul base statistics functions and documentation of same.
Rik <octave@nomad.inbox5.com>
parents:
10821
diff
changeset
|
99 |
12656
6b2f14af2360
Overhaul functions in statistics/base directory.
Rik <octave@nomad.inbox5.com>
parents:
12575
diff
changeset
|
100 if (! (isnumeric (x) || islogical (x))) |
11436
e151e23f73bc
Overhaul base statistics functions and documentation of same.
Rik <octave@nomad.inbox5.com>
parents:
10821
diff
changeset
|
101 error ("var: X must be a numeric vector or matrix"); |
e151e23f73bc
Overhaul base statistics functions and documentation of same.
Rik <octave@nomad.inbox5.com>
parents:
10821
diff
changeset
|
102 endif |
e151e23f73bc
Overhaul base statistics functions and documentation of same.
Rik <octave@nomad.inbox5.com>
parents:
10821
diff
changeset
|
103 |
30997
5330efaf9476
Add optional second output to var and std (bug #62395)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
30617
diff
changeset
|
104 if (isempty (w)) |
5330efaf9476
Add optional second output to var and std (bug #62395)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
30617
diff
changeset
|
105 w = 0; |
5330efaf9476
Add optional second output to var and std (bug #62395)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
30617
diff
changeset
|
106 endif |
5330efaf9476
Add optional second output to var and std (bug #62395)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
30617
diff
changeset
|
107 |
12656
6b2f14af2360
Overhaul functions in statistics/base directory.
Rik <octave@nomad.inbox5.com>
parents:
12575
diff
changeset
|
108 nd = ndims (x); |
6b2f14af2360
Overhaul functions in statistics/base directory.
Rik <octave@nomad.inbox5.com>
parents:
12575
diff
changeset
|
109 sz = size (x); |
30410
bc0de453fb6a
extend var and std with dim options (bug #58116) and weights (patch #10103)
Stefano Guidoni <ilguido@users.sf.net>
parents:
29359
diff
changeset
|
110 emptydimflag = false; |
bc0de453fb6a
extend var and std with dim options (bug #58116) and weights (patch #10103)
Stefano Guidoni <ilguido@users.sf.net>
parents:
29359
diff
changeset
|
111 |
bc0de453fb6a
extend var and std with dim options (bug #58116) and weights (patch #10103)
Stefano Guidoni <ilguido@users.sf.net>
parents:
29359
diff
changeset
|
112 if (isempty (dim)) |
30998 | 113 emptydimflag = true; # Compatibility hack for empty x, ndims==2 |
30997
5330efaf9476
Add optional second output to var and std (bug #62395)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
30617
diff
changeset
|
114 |
12656
6b2f14af2360
Overhaul functions in statistics/base directory.
Rik <octave@nomad.inbox5.com>
parents:
12575
diff
changeset
|
115 ## Find the first non-singleton dimension. |
30998 | 116 (dim = find (sz != 1, 1)) || (dim = 1); |
30410
bc0de453fb6a
extend var and std with dim options (bug #58116) and weights (patch #10103)
Stefano Guidoni <ilguido@users.sf.net>
parents:
29359
diff
changeset
|
117 |
12656
6b2f14af2360
Overhaul functions in statistics/base directory.
Rik <octave@nomad.inbox5.com>
parents:
12575
diff
changeset
|
118 else |
30998 | 119 if (isscalar (dim)) |
120 if (dim < 1 || dim != fix (dim)) | |
121 error ("var: DIM must be a positive integer scalar, vector, or 'all'"); | |
122 endif | |
123 elseif (isnumeric (dim)) | |
124 if (! isvector (dim) && all (dim > 0) && all (rem (dim, 1) == 0)) | |
30410
bc0de453fb6a
extend var and std with dim options (bug #58116) and weights (patch #10103)
Stefano Guidoni <ilguido@users.sf.net>
parents:
29359
diff
changeset
|
125 error ("var: DIM must be a positive integer scalar, vector, or 'all'"); |
bc0de453fb6a
extend var and std with dim options (bug #58116) and weights (patch #10103)
Stefano Guidoni <ilguido@users.sf.net>
parents:
29359
diff
changeset
|
126 endif |
30998 | 127 if (dim != unique (dim, "stable")) |
128 error ("var: vector DIM must contain non-repeating positive integers"); | |
129 endif | |
130 if (! isscalar (w)) | |
131 error ("var: W must be either 0 or 1 when DIM is a vector"); | |
132 endif | |
133 | |
134 ## Reshape X to compute the variance over an array slice | |
135 if (iscolumn (dim)) | |
136 dim = dim.'; | |
137 endif | |
138 | |
139 collapsed_dims = dim; | |
140 dim = dim(end); | |
141 | |
142 ## Permute X to cluster the dimensions to collapse | |
143 max_dim = max ([nd, collapsed_dims]); | |
144 perm_start = perm_end = [1:max_dim]; | |
145 perm_start(dim:end) = []; | |
146 perm_start(ismember (perm_start, collapsed_dims)) = []; | |
147 perm_end(1:dim) = []; | |
148 perm_end(ismember (perm_end, collapsed_dims)) = []; | |
149 perm = [perm_start, collapsed_dims, perm_end]; | |
150 | |
151 x = permute (x, perm); | |
152 | |
153 ## Collapse the given dimensions | |
154 newshape = ones (1, max_dim); | |
155 newshape(1:nd) = sz; | |
156 newshape(collapsed_dims(1:(end-1))) = 1; | |
157 newshape(dim) = prod (sz(collapsed_dims)); | |
158 | |
159 ## New X with collapsed dimensions | |
160 x = reshape (x, newshape); | |
161 | |
162 elseif (ischar (dim) && strcmpi (dim, "all")) | |
163 if (! isscalar (w)) | |
164 error ("var: W must be either 0 or 1 when using 'all' as dimension"); | |
165 endif | |
166 | |
167 ## "all" equates to collapsing all elements to a single vector | |
168 x = x(:); | |
169 dim = 1; | |
170 sz = size (x); | |
171 else | |
172 error ("var: DIM must be a positive integer scalar, vector, or 'all'"); | |
4849 | 173 endif |
174 endif | |
3426 | 175 |
21309
7fbecef105ca
Allow statistics functions to work over non-existent dimension (bug #33523).
Rik <rik@octave.org>
parents:
20852
diff
changeset
|
176 n = size (x, dim); |
30998 | 177 if (! isvector (w) || ! isnumeric (w) |
178 || (isvector (w) && any (w < 0)) || | |
30410
bc0de453fb6a
extend var and std with dim options (bug #58116) and weights (patch #10103)
Stefano Guidoni <ilguido@users.sf.net>
parents:
29359
diff
changeset
|
179 (isscalar (w) && ((w != 0 && w != 1) && (n != 1)))) |
bc0de453fb6a
extend var and std with dim options (bug #58116) and weights (patch #10103)
Stefano Guidoni <ilguido@users.sf.net>
parents:
29359
diff
changeset
|
180 error ("var: W must be 0, 1, or a vector of positive integers"); |
bc0de453fb6a
extend var and std with dim options (bug #58116) and weights (patch #10103)
Stefano Guidoni <ilguido@users.sf.net>
parents:
29359
diff
changeset
|
181 endif |
bc0de453fb6a
extend var and std with dim options (bug #58116) and weights (patch #10103)
Stefano Guidoni <ilguido@users.sf.net>
parents:
29359
diff
changeset
|
182 |
bc0de453fb6a
extend var and std with dim options (bug #58116) and weights (patch #10103)
Stefano Guidoni <ilguido@users.sf.net>
parents:
29359
diff
changeset
|
183 if (isempty (x)) |
30998 | 184 ## Empty matrix special case |
185 if (emptydimflag && nd == 2 && all (sz == [0, 0])) | |
30997
5330efaf9476
Add optional second output to var and std (bug #62395)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
30617
diff
changeset
|
186 v = NaN; |
5330efaf9476
Add optional second output to var and std (bug #62395)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
30617
diff
changeset
|
187 mu = NaN; |
12656
6b2f14af2360
Overhaul functions in statistics/base directory.
Rik <octave@nomad.inbox5.com>
parents:
12575
diff
changeset
|
188 else |
30998 | 189 sz(dim) = 1; |
190 v = NaN (sz); | |
191 mu = NaN (sz); | |
12656
6b2f14af2360
Overhaul functions in statistics/base directory.
Rik <octave@nomad.inbox5.com>
parents:
12575
diff
changeset
|
192 endif |
30998 | 193 elseif (n == 1) |
194 ## Scalar special case | |
195 if (! isscalar (w)) | |
196 error (["var: the length of W must be equal to the size of X " ... | |
197 "in the dimension along which variance is calculated"]); | |
198 endif | |
199 if (isa (x, "single")) | |
200 v = zeros (sz, "single"); | |
201 mu = x; | |
202 else | |
203 v = zeros (sz); | |
204 mu = x; | |
12656
6b2f14af2360
Overhaul functions in statistics/base directory.
Rik <octave@nomad.inbox5.com>
parents:
12575
diff
changeset
|
205 endif |
31306
ef3cd4d7691f
maint: Merge stable to default
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
diff
changeset
|
206 v(isnan (x) | isinf (x)) = NaN; |
9371
56751dfc6ebd
fix var for scalar and empty arguments
John W. Eaton <jwe@octave.org>
parents:
9245
diff
changeset
|
207 else |
30998 | 208 ## Regular algorithm |
209 if (isscalar (w)) | |
210 v = sumsq (center (x, dim), dim) / (n - 1 + w); | |
211 if (nargout == 2) | |
212 mu = mean (x, dim); | |
30410
bc0de453fb6a
extend var and std with dim options (bug #58116) and weights (patch #10103)
Stefano Guidoni <ilguido@users.sf.net>
parents:
29359
diff
changeset
|
213 endif |
bc0de453fb6a
extend var and std with dim options (bug #58116) and weights (patch #10103)
Stefano Guidoni <ilguido@users.sf.net>
parents:
29359
diff
changeset
|
214 else |
30998 | 215 ## Weighted variance |
216 if (numel (w) != n) | |
217 error (["var: the length of W must be equal to the size of X " ... | |
218 "in the dimension along which variance is calculated"]); | |
30410
bc0de453fb6a
extend var and std with dim options (bug #58116) and weights (patch #10103)
Stefano Guidoni <ilguido@users.sf.net>
parents:
29359
diff
changeset
|
219 endif |
30998 | 220 if ((dim == 1 && isrow (w)) || (dim == 2 && iscolumn (w))) |
221 w = w.'; | |
222 elseif (dim > 2) | |
223 newdims = [ones(1, dim - 1), numel(w)]; | |
224 w = reshape (w, newdims); | |
225 endif | |
226 den = sum (w); | |
227 mu = sum (w .* x, dim) ./ den; | |
228 v = sum (w .* ((x - mu) .^ 2), dim) ./ den; | |
30410
bc0de453fb6a
extend var and std with dim options (bug #58116) and weights (patch #10103)
Stefano Guidoni <ilguido@users.sf.net>
parents:
29359
diff
changeset
|
229 endif |
3200 | 230 endif |
3426 | 231 |
3200 | 232 endfunction |
9371
56751dfc6ebd
fix var for scalar and empty arguments
John W. Eaton <jwe@octave.org>
parents:
9245
diff
changeset
|
233 |
30998 | 234 |
14363
f3d52523cde1
Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents:
14336
diff
changeset
|
235 %!assert (var (13), 0) |
f3d52523cde1
Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents:
14336
diff
changeset
|
236 %!assert (var (single (13)), single (0)) |
f3d52523cde1
Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents:
14336
diff
changeset
|
237 %!assert (var ([1,2,3]), 1) |
f3d52523cde1
Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents:
14336
diff
changeset
|
238 %!assert (var ([1,2,3], 1), 2/3, eps) |
f3d52523cde1
Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents:
14336
diff
changeset
|
239 %!assert (var ([1,2,3], [], 1), [0,0,0]) |
21309
7fbecef105ca
Allow statistics functions to work over non-existent dimension (bug #33523).
Rik <rik@octave.org>
parents:
20852
diff
changeset
|
240 %!assert (var ([1,2,3], [], 3), [0,0,0]) |
30410
bc0de453fb6a
extend var and std with dim options (bug #58116) and weights (patch #10103)
Stefano Guidoni <ilguido@users.sf.net>
parents:
29359
diff
changeset
|
241 %!assert (var (5, 99), 0) |
bc0de453fb6a
extend var and std with dim options (bug #58116) and weights (patch #10103)
Stefano Guidoni <ilguido@users.sf.net>
parents:
29359
diff
changeset
|
242 %!assert (var (5, 99, 1), 0) |
bc0de453fb6a
extend var and std with dim options (bug #58116) and weights (patch #10103)
Stefano Guidoni <ilguido@users.sf.net>
parents:
29359
diff
changeset
|
243 %!assert (var (5, 99, 2), 0) |
bc0de453fb6a
extend var and std with dim options (bug #58116) and weights (patch #10103)
Stefano Guidoni <ilguido@users.sf.net>
parents:
29359
diff
changeset
|
244 %!assert (var ([1:7], [1:7]), 3) |
bc0de453fb6a
extend var and std with dim options (bug #58116) and weights (patch #10103)
Stefano Guidoni <ilguido@users.sf.net>
parents:
29359
diff
changeset
|
245 %!assert (var ([eye(3)], [1:3]), [5/36, 2/9, 1/4], eps) |
bc0de453fb6a
extend var and std with dim options (bug #58116) and weights (patch #10103)
Stefano Guidoni <ilguido@users.sf.net>
parents:
29359
diff
changeset
|
246 %!assert (var (ones (2,2,2), [1:2], 3), [(zeros (2,2))]) |
bc0de453fb6a
extend var and std with dim options (bug #58116) and weights (patch #10103)
Stefano Guidoni <ilguido@users.sf.net>
parents:
29359
diff
changeset
|
247 %!assert (var ([1 2; 3 4], 0, 'all'), var ([1:4])) |
bc0de453fb6a
extend var and std with dim options (bug #58116) and weights (patch #10103)
Stefano Guidoni <ilguido@users.sf.net>
parents:
29359
diff
changeset
|
248 %!assert (var (reshape ([1:8], 2, 2, 2), 0, [1 3]), [17/3 17/3], eps) |
30997
5330efaf9476
Add optional second output to var and std (bug #62395)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
30617
diff
changeset
|
249 %!assert (var ([1 2 3;1 2 3], [], [1 2]), 0.8, eps) |
30410
bc0de453fb6a
extend var and std with dim options (bug #58116) and weights (patch #10103)
Stefano Guidoni <ilguido@users.sf.net>
parents:
29359
diff
changeset
|
250 |
30998 | 251 ## Test empty inputs |
30410
bc0de453fb6a
extend var and std with dim options (bug #58116) and weights (patch #10103)
Stefano Guidoni <ilguido@users.sf.net>
parents:
29359
diff
changeset
|
252 %!assert (var ([]), NaN) |
bc0de453fb6a
extend var and std with dim options (bug #58116) and weights (patch #10103)
Stefano Guidoni <ilguido@users.sf.net>
parents:
29359
diff
changeset
|
253 %!assert (var ([],[],1), NaN(1,0)) |
bc0de453fb6a
extend var and std with dim options (bug #58116) and weights (patch #10103)
Stefano Guidoni <ilguido@users.sf.net>
parents:
29359
diff
changeset
|
254 %!assert (var ([],[],2), NaN(0,1)) |
bc0de453fb6a
extend var and std with dim options (bug #58116) and weights (patch #10103)
Stefano Guidoni <ilguido@users.sf.net>
parents:
29359
diff
changeset
|
255 %!assert (var ([],[],3), []) |
bc0de453fb6a
extend var and std with dim options (bug #58116) and weights (patch #10103)
Stefano Guidoni <ilguido@users.sf.net>
parents:
29359
diff
changeset
|
256 %!assert (var (ones (0,1)), NaN) |
bc0de453fb6a
extend var and std with dim options (bug #58116) and weights (patch #10103)
Stefano Guidoni <ilguido@users.sf.net>
parents:
29359
diff
changeset
|
257 %!assert (var (ones (1,0)), NaN) |
bc0de453fb6a
extend var and std with dim options (bug #58116) and weights (patch #10103)
Stefano Guidoni <ilguido@users.sf.net>
parents:
29359
diff
changeset
|
258 %!assert (var (ones (1,0), [], 1), NaN(1,0)) |
bc0de453fb6a
extend var and std with dim options (bug #58116) and weights (patch #10103)
Stefano Guidoni <ilguido@users.sf.net>
parents:
29359
diff
changeset
|
259 %!assert (var (ones (1,0), [], 2), NaN) |
bc0de453fb6a
extend var and std with dim options (bug #58116) and weights (patch #10103)
Stefano Guidoni <ilguido@users.sf.net>
parents:
29359
diff
changeset
|
260 %!assert (var (ones (1,0), [], 3), NaN(1,0)) |
bc0de453fb6a
extend var and std with dim options (bug #58116) and weights (patch #10103)
Stefano Guidoni <ilguido@users.sf.net>
parents:
29359
diff
changeset
|
261 %!assert (var (ones (0,1)), NaN) |
bc0de453fb6a
extend var and std with dim options (bug #58116) and weights (patch #10103)
Stefano Guidoni <ilguido@users.sf.net>
parents:
29359
diff
changeset
|
262 %!assert (var (ones (0,1), [], 1), NaN) |
bc0de453fb6a
extend var and std with dim options (bug #58116) and weights (patch #10103)
Stefano Guidoni <ilguido@users.sf.net>
parents:
29359
diff
changeset
|
263 %!assert (var (ones (0,1), [], 2), NaN(0,1)) |
bc0de453fb6a
extend var and std with dim options (bug #58116) and weights (patch #10103)
Stefano Guidoni <ilguido@users.sf.net>
parents:
29359
diff
changeset
|
264 %!assert (var (ones (0,1), [], 3), NaN(0,1)) |
bc0de453fb6a
extend var and std with dim options (bug #58116) and weights (patch #10103)
Stefano Guidoni <ilguido@users.sf.net>
parents:
29359
diff
changeset
|
265 %!assert (var (ones (1,3,0,2)), NaN(1,1,0,2)) |
bc0de453fb6a
extend var and std with dim options (bug #58116) and weights (patch #10103)
Stefano Guidoni <ilguido@users.sf.net>
parents:
29359
diff
changeset
|
266 %!assert (var (ones (1,3,0,2), [], 1), NaN(1,3,0,2)) |
bc0de453fb6a
extend var and std with dim options (bug #58116) and weights (patch #10103)
Stefano Guidoni <ilguido@users.sf.net>
parents:
29359
diff
changeset
|
267 %!assert (var (ones (1,3,0,2), [], 2), NaN(1,1,0,2)) |
bc0de453fb6a
extend var and std with dim options (bug #58116) and weights (patch #10103)
Stefano Guidoni <ilguido@users.sf.net>
parents:
29359
diff
changeset
|
268 %!assert (var (ones (1,3,0,2), [], 3), NaN(1,3,1,2)) |
bc0de453fb6a
extend var and std with dim options (bug #58116) and weights (patch #10103)
Stefano Guidoni <ilguido@users.sf.net>
parents:
29359
diff
changeset
|
269 %!assert (var (ones (1,3,0,2), [], 4), NaN(1,3,0)) |
11436
e151e23f73bc
Overhaul base statistics functions and documentation of same.
Rik <octave@nomad.inbox5.com>
parents:
10821
diff
changeset
|
270 |
30998 | 271 ## Test second output |
30997
5330efaf9476
Add optional second output to var and std (bug #62395)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
30617
diff
changeset
|
272 %!test <*62395> |
5330efaf9476
Add optional second output to var and std (bug #62395)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
30617
diff
changeset
|
273 %! [~, m] = var (13); |
5330efaf9476
Add optional second output to var and std (bug #62395)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
30617
diff
changeset
|
274 %! assert (m, 13); |
5330efaf9476
Add optional second output to var and std (bug #62395)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
30617
diff
changeset
|
275 %! [~, m] = var (single(13)); |
5330efaf9476
Add optional second output to var and std (bug #62395)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
30617
diff
changeset
|
276 %! assert (m, single(13)); |
5330efaf9476
Add optional second output to var and std (bug #62395)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
30617
diff
changeset
|
277 %! [~, m] = var ([1, 2, 3; 3 2 1], []); |
5330efaf9476
Add optional second output to var and std (bug #62395)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
30617
diff
changeset
|
278 %! assert (m, [2 2 2]); |
5330efaf9476
Add optional second output to var and std (bug #62395)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
30617
diff
changeset
|
279 %! [~, m] = var ([1, 2, 3; 3 2 1], [], 1); |
5330efaf9476
Add optional second output to var and std (bug #62395)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
30617
diff
changeset
|
280 %! assert (m, [2 2 2]); |
5330efaf9476
Add optional second output to var and std (bug #62395)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
30617
diff
changeset
|
281 %! [~, m] = var ([1, 2, 3; 3 2 1], [], 2); |
5330efaf9476
Add optional second output to var and std (bug #62395)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
30617
diff
changeset
|
282 %! assert (m, [2 2]'); |
5330efaf9476
Add optional second output to var and std (bug #62395)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
30617
diff
changeset
|
283 %! [~, m] = var ([1, 2, 3; 3 2 1], [], 3); |
5330efaf9476
Add optional second output to var and std (bug #62395)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
30617
diff
changeset
|
284 %! assert (m, [1 2 3; 3 2 1]); |
5330efaf9476
Add optional second output to var and std (bug #62395)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
30617
diff
changeset
|
285 |
5330efaf9476
Add optional second output to var and std (bug #62395)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
30617
diff
changeset
|
286 ## 2nd output, weighted inputs, vector dims |
5330efaf9476
Add optional second output to var and std (bug #62395)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
30617
diff
changeset
|
287 %!test <*62395> |
5330efaf9476
Add optional second output to var and std (bug #62395)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
30617
diff
changeset
|
288 %! [~, m] = var(5,99); |
5330efaf9476
Add optional second output to var and std (bug #62395)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
30617
diff
changeset
|
289 %! assert (m, 5); |
5330efaf9476
Add optional second output to var and std (bug #62395)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
30617
diff
changeset
|
290 %! [~, m] = var ([1:7], [1:7]); |
5330efaf9476
Add optional second output to var and std (bug #62395)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
30617
diff
changeset
|
291 %! assert (m, 5); |
5330efaf9476
Add optional second output to var and std (bug #62395)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
30617
diff
changeset
|
292 %! [~, m] = var ([eye(3)], [1:3]); |
5330efaf9476
Add optional second output to var and std (bug #62395)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
30617
diff
changeset
|
293 %! assert (m, [1/6, 1/3, 0.5], eps); |
5330efaf9476
Add optional second output to var and std (bug #62395)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
30617
diff
changeset
|
294 %! [~, m] = var (ones (2,2,2), [1:2], 3); |
5330efaf9476
Add optional second output to var and std (bug #62395)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
30617
diff
changeset
|
295 %! assert (m, ones (2,2)); |
5330efaf9476
Add optional second output to var and std (bug #62395)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
30617
diff
changeset
|
296 %! [~, m] = var ([1 2; 3 4], 0, 'all'); |
5330efaf9476
Add optional second output to var and std (bug #62395)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
30617
diff
changeset
|
297 %! assert (m, 2.5, eps); |
5330efaf9476
Add optional second output to var and std (bug #62395)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
30617
diff
changeset
|
298 %! [~, m] = var (reshape ([1:8], 2, 2, 2), 0, [1 3]); |
5330efaf9476
Add optional second output to var and std (bug #62395)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
30617
diff
changeset
|
299 %! assert (m, [3.5, 5.5], eps); |
5330efaf9476
Add optional second output to var and std (bug #62395)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
30617
diff
changeset
|
300 |
5330efaf9476
Add optional second output to var and std (bug #62395)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
30617
diff
changeset
|
301 ## 2nd output, empty inputs |
5330efaf9476
Add optional second output to var and std (bug #62395)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
30617
diff
changeset
|
302 %!test <*62395> |
5330efaf9476
Add optional second output to var and std (bug #62395)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
30617
diff
changeset
|
303 %! [~, m] = var ([]); |
5330efaf9476
Add optional second output to var and std (bug #62395)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
30617
diff
changeset
|
304 %! assert (m, NaN); |
5330efaf9476
Add optional second output to var and std (bug #62395)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
30617
diff
changeset
|
305 %! [~, m] = var ([],[],1); |
5330efaf9476
Add optional second output to var and std (bug #62395)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
30617
diff
changeset
|
306 %! assert (m, NaN(1,0)); |
5330efaf9476
Add optional second output to var and std (bug #62395)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
30617
diff
changeset
|
307 %! [~, m] = var ([],[],2); |
5330efaf9476
Add optional second output to var and std (bug #62395)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
30617
diff
changeset
|
308 %! assert (m, NaN(0,1)); |
5330efaf9476
Add optional second output to var and std (bug #62395)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
30617
diff
changeset
|
309 %! [~, m] = var ([],[],3); |
5330efaf9476
Add optional second output to var and std (bug #62395)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
30617
diff
changeset
|
310 %! assert (m, []); |
5330efaf9476
Add optional second output to var and std (bug #62395)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
30617
diff
changeset
|
311 %! [~, m] = var (ones (1,3,0,2)); |
5330efaf9476
Add optional second output to var and std (bug #62395)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
30617
diff
changeset
|
312 %! assert (m, NaN(1,1,0,2)); |
5330efaf9476
Add optional second output to var and std (bug #62395)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
30617
diff
changeset
|
313 |
31305
3b16c2d90326
var.m: Ensure consistent NaN outputs for Inf and NaN inputs (bug #63203)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
30616
diff
changeset
|
314 ## Test Inf and NaN inputs |
31307
94dc0f5ba8a3
var.m: Add two-output tests for Inf and NaN inputs (bug #63203)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31306
diff
changeset
|
315 %!test <*63203> |
94dc0f5ba8a3
var.m: Add two-output tests for Inf and NaN inputs (bug #63203)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31306
diff
changeset
|
316 %! [v, m] = var (Inf); |
94dc0f5ba8a3
var.m: Add two-output tests for Inf and NaN inputs (bug #63203)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31306
diff
changeset
|
317 %! assert (v, NaN); |
94dc0f5ba8a3
var.m: Add two-output tests for Inf and NaN inputs (bug #63203)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31306
diff
changeset
|
318 %! assert (m, Inf); |
94dc0f5ba8a3
var.m: Add two-output tests for Inf and NaN inputs (bug #63203)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31306
diff
changeset
|
319 %!test <*63203> |
94dc0f5ba8a3
var.m: Add two-output tests for Inf and NaN inputs (bug #63203)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31306
diff
changeset
|
320 %! [v, m] = var (NaN); |
94dc0f5ba8a3
var.m: Add two-output tests for Inf and NaN inputs (bug #63203)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31306
diff
changeset
|
321 %! assert (v, NaN); |
94dc0f5ba8a3
var.m: Add two-output tests for Inf and NaN inputs (bug #63203)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31306
diff
changeset
|
322 %! assert (m, NaN); |
94dc0f5ba8a3
var.m: Add two-output tests for Inf and NaN inputs (bug #63203)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31306
diff
changeset
|
323 %!test <*63203> |
94dc0f5ba8a3
var.m: Add two-output tests for Inf and NaN inputs (bug #63203)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31306
diff
changeset
|
324 %! [v, m] = var ([1, Inf, 3]); |
94dc0f5ba8a3
var.m: Add two-output tests for Inf and NaN inputs (bug #63203)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31306
diff
changeset
|
325 %! assert (v, NaN); |
94dc0f5ba8a3
var.m: Add two-output tests for Inf and NaN inputs (bug #63203)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31306
diff
changeset
|
326 %! assert (m, Inf); |
94dc0f5ba8a3
var.m: Add two-output tests for Inf and NaN inputs (bug #63203)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31306
diff
changeset
|
327 %!test <*63203> |
94dc0f5ba8a3
var.m: Add two-output tests for Inf and NaN inputs (bug #63203)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31306
diff
changeset
|
328 %! [v, m] = var ([1, Inf, 3]'); |
94dc0f5ba8a3
var.m: Add two-output tests for Inf and NaN inputs (bug #63203)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31306
diff
changeset
|
329 %! assert (v, NaN); |
94dc0f5ba8a3
var.m: Add two-output tests for Inf and NaN inputs (bug #63203)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31306
diff
changeset
|
330 %! assert (m, Inf); |
94dc0f5ba8a3
var.m: Add two-output tests for Inf and NaN inputs (bug #63203)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31306
diff
changeset
|
331 %!test <*63203> |
94dc0f5ba8a3
var.m: Add two-output tests for Inf and NaN inputs (bug #63203)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31306
diff
changeset
|
332 %! [v, m] = var ([1, NaN, 3]); |
94dc0f5ba8a3
var.m: Add two-output tests for Inf and NaN inputs (bug #63203)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31306
diff
changeset
|
333 %! assert (v, NaN); |
94dc0f5ba8a3
var.m: Add two-output tests for Inf and NaN inputs (bug #63203)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31306
diff
changeset
|
334 %! assert (m, NaN); |
94dc0f5ba8a3
var.m: Add two-output tests for Inf and NaN inputs (bug #63203)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31306
diff
changeset
|
335 %!test <*63203> |
94dc0f5ba8a3
var.m: Add two-output tests for Inf and NaN inputs (bug #63203)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31306
diff
changeset
|
336 %! [v, m] = var ([1, NaN, 3]'); |
94dc0f5ba8a3
var.m: Add two-output tests for Inf and NaN inputs (bug #63203)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31306
diff
changeset
|
337 %! assert (v, NaN); |
94dc0f5ba8a3
var.m: Add two-output tests for Inf and NaN inputs (bug #63203)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31306
diff
changeset
|
338 %! assert (m, NaN); |
94dc0f5ba8a3
var.m: Add two-output tests for Inf and NaN inputs (bug #63203)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31306
diff
changeset
|
339 %!test <*63203> |
94dc0f5ba8a3
var.m: Add two-output tests for Inf and NaN inputs (bug #63203)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31306
diff
changeset
|
340 %! [v, m] = var ([1, Inf, 3], [], 1); |
94dc0f5ba8a3
var.m: Add two-output tests for Inf and NaN inputs (bug #63203)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31306
diff
changeset
|
341 %! assert (v, [0, NaN, 0]); |
94dc0f5ba8a3
var.m: Add two-output tests for Inf and NaN inputs (bug #63203)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31306
diff
changeset
|
342 %! assert (m, [1, Inf, 3]); |
94dc0f5ba8a3
var.m: Add two-output tests for Inf and NaN inputs (bug #63203)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31306
diff
changeset
|
343 %!test <*63203> |
94dc0f5ba8a3
var.m: Add two-output tests for Inf and NaN inputs (bug #63203)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31306
diff
changeset
|
344 %! [v, m] = var ([1, Inf, 3], [], 2); |
94dc0f5ba8a3
var.m: Add two-output tests for Inf and NaN inputs (bug #63203)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31306
diff
changeset
|
345 %! assert (v, NaN); |
94dc0f5ba8a3
var.m: Add two-output tests for Inf and NaN inputs (bug #63203)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31306
diff
changeset
|
346 %! assert (m, Inf); |
94dc0f5ba8a3
var.m: Add two-output tests for Inf and NaN inputs (bug #63203)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31306
diff
changeset
|
347 %!test <*63203> |
94dc0f5ba8a3
var.m: Add two-output tests for Inf and NaN inputs (bug #63203)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31306
diff
changeset
|
348 %! [v, m] = var ([1, Inf, 3], [], 3); |
94dc0f5ba8a3
var.m: Add two-output tests for Inf and NaN inputs (bug #63203)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31306
diff
changeset
|
349 %! assert (v, [0, NaN, 0]); |
94dc0f5ba8a3
var.m: Add two-output tests for Inf and NaN inputs (bug #63203)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31306
diff
changeset
|
350 %! assert (m, [1, Inf, 3]); |
94dc0f5ba8a3
var.m: Add two-output tests for Inf and NaN inputs (bug #63203)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31306
diff
changeset
|
351 %!test <*63203> |
94dc0f5ba8a3
var.m: Add two-output tests for Inf and NaN inputs (bug #63203)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31306
diff
changeset
|
352 %! [v, m] = var ([1, NaN, 3], [], 1); |
94dc0f5ba8a3
var.m: Add two-output tests for Inf and NaN inputs (bug #63203)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31306
diff
changeset
|
353 %! assert (v, [0, NaN, 0]); |
94dc0f5ba8a3
var.m: Add two-output tests for Inf and NaN inputs (bug #63203)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31306
diff
changeset
|
354 %! assert (m, [1, NaN, 3]); |
94dc0f5ba8a3
var.m: Add two-output tests for Inf and NaN inputs (bug #63203)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31306
diff
changeset
|
355 %!test <*63203> |
94dc0f5ba8a3
var.m: Add two-output tests for Inf and NaN inputs (bug #63203)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31306
diff
changeset
|
356 %! [v, m] = var ([1, NaN, 3], [], 2); |
94dc0f5ba8a3
var.m: Add two-output tests for Inf and NaN inputs (bug #63203)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31306
diff
changeset
|
357 %! assert (v, NaN); |
94dc0f5ba8a3
var.m: Add two-output tests for Inf and NaN inputs (bug #63203)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31306
diff
changeset
|
358 %! assert (m, NaN); |
94dc0f5ba8a3
var.m: Add two-output tests for Inf and NaN inputs (bug #63203)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31306
diff
changeset
|
359 %!test <*63203> |
94dc0f5ba8a3
var.m: Add two-output tests for Inf and NaN inputs (bug #63203)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31306
diff
changeset
|
360 %! [v, m] = var ([1, NaN, 3], [], 3); |
94dc0f5ba8a3
var.m: Add two-output tests for Inf and NaN inputs (bug #63203)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31306
diff
changeset
|
361 %! assert (v, [0, NaN, 0]); |
94dc0f5ba8a3
var.m: Add two-output tests for Inf and NaN inputs (bug #63203)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31306
diff
changeset
|
362 %! assert (m, [1, NaN, 3]); |
94dc0f5ba8a3
var.m: Add two-output tests for Inf and NaN inputs (bug #63203)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31306
diff
changeset
|
363 %!test <*63203> |
94dc0f5ba8a3
var.m: Add two-output tests for Inf and NaN inputs (bug #63203)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31306
diff
changeset
|
364 %! [v, m] = var ([1, 2, 3; 3, Inf, 5]); |
94dc0f5ba8a3
var.m: Add two-output tests for Inf and NaN inputs (bug #63203)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31306
diff
changeset
|
365 %! assert (v, [2, NaN, 2]); |
94dc0f5ba8a3
var.m: Add two-output tests for Inf and NaN inputs (bug #63203)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31306
diff
changeset
|
366 %! assert (m, [2, Inf, 4]); |
94dc0f5ba8a3
var.m: Add two-output tests for Inf and NaN inputs (bug #63203)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31306
diff
changeset
|
367 %!test <*63203> |
94dc0f5ba8a3
var.m: Add two-output tests for Inf and NaN inputs (bug #63203)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31306
diff
changeset
|
368 %! [v, m] = var ([1, Inf, 3; 3, Inf, 5]); |
94dc0f5ba8a3
var.m: Add two-output tests for Inf and NaN inputs (bug #63203)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31306
diff
changeset
|
369 %! assert (v, [2, NaN, 2]); |
94dc0f5ba8a3
var.m: Add two-output tests for Inf and NaN inputs (bug #63203)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31306
diff
changeset
|
370 %! assert (m, [2, Inf, 4]); |
94dc0f5ba8a3
var.m: Add two-output tests for Inf and NaN inputs (bug #63203)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31306
diff
changeset
|
371 %!test <*63203> |
94dc0f5ba8a3
var.m: Add two-output tests for Inf and NaN inputs (bug #63203)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31306
diff
changeset
|
372 %! [v, m] = var ([1, 2, 3; 3, NaN, 5]); |
94dc0f5ba8a3
var.m: Add two-output tests for Inf and NaN inputs (bug #63203)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31306
diff
changeset
|
373 %! assert (v, [2, NaN, 2]); |
94dc0f5ba8a3
var.m: Add two-output tests for Inf and NaN inputs (bug #63203)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31306
diff
changeset
|
374 %! assert (m, [2, NaN, 4]); |
94dc0f5ba8a3
var.m: Add two-output tests for Inf and NaN inputs (bug #63203)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31306
diff
changeset
|
375 %!test <*63203> |
94dc0f5ba8a3
var.m: Add two-output tests for Inf and NaN inputs (bug #63203)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31306
diff
changeset
|
376 %! [v, m] = var ([1, NaN, 3; 3, NaN, 5]); |
94dc0f5ba8a3
var.m: Add two-output tests for Inf and NaN inputs (bug #63203)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31306
diff
changeset
|
377 %! assert (v, [2, NaN, 2]); |
94dc0f5ba8a3
var.m: Add two-output tests for Inf and NaN inputs (bug #63203)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31306
diff
changeset
|
378 %! assert (m, [2, NaN, 4]); |
94dc0f5ba8a3
var.m: Add two-output tests for Inf and NaN inputs (bug #63203)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31306
diff
changeset
|
379 %!test <*63203> |
94dc0f5ba8a3
var.m: Add two-output tests for Inf and NaN inputs (bug #63203)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31306
diff
changeset
|
380 %! [v, m] = var ([Inf, 2, NaN]); |
94dc0f5ba8a3
var.m: Add two-output tests for Inf and NaN inputs (bug #63203)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31306
diff
changeset
|
381 %! assert (v, NaN); |
94dc0f5ba8a3
var.m: Add two-output tests for Inf and NaN inputs (bug #63203)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31306
diff
changeset
|
382 %! assert (m, NaN); |
94dc0f5ba8a3
var.m: Add two-output tests for Inf and NaN inputs (bug #63203)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31306
diff
changeset
|
383 %!test <*63203> |
94dc0f5ba8a3
var.m: Add two-output tests for Inf and NaN inputs (bug #63203)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31306
diff
changeset
|
384 %! [v, m] = var ([Inf, 2, NaN]'); |
94dc0f5ba8a3
var.m: Add two-output tests for Inf and NaN inputs (bug #63203)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31306
diff
changeset
|
385 %! assert (v, NaN); |
94dc0f5ba8a3
var.m: Add two-output tests for Inf and NaN inputs (bug #63203)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31306
diff
changeset
|
386 %! assert (m, NaN); |
94dc0f5ba8a3
var.m: Add two-output tests for Inf and NaN inputs (bug #63203)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31306
diff
changeset
|
387 %!test <*63203> |
94dc0f5ba8a3
var.m: Add two-output tests for Inf and NaN inputs (bug #63203)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31306
diff
changeset
|
388 %! [v, m] = var ([NaN, 2, Inf]); |
94dc0f5ba8a3
var.m: Add two-output tests for Inf and NaN inputs (bug #63203)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31306
diff
changeset
|
389 %! assert (v, NaN); |
94dc0f5ba8a3
var.m: Add two-output tests for Inf and NaN inputs (bug #63203)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31306
diff
changeset
|
390 %! assert (m, NaN); |
94dc0f5ba8a3
var.m: Add two-output tests for Inf and NaN inputs (bug #63203)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31306
diff
changeset
|
391 %!test <*63203> |
94dc0f5ba8a3
var.m: Add two-output tests for Inf and NaN inputs (bug #63203)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31306
diff
changeset
|
392 %! [v, m] = var ([NaN, 2, Inf]'); |
94dc0f5ba8a3
var.m: Add two-output tests for Inf and NaN inputs (bug #63203)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31306
diff
changeset
|
393 %! assert (v, NaN); |
94dc0f5ba8a3
var.m: Add two-output tests for Inf and NaN inputs (bug #63203)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31306
diff
changeset
|
394 %! assert (m, NaN); |
94dc0f5ba8a3
var.m: Add two-output tests for Inf and NaN inputs (bug #63203)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31306
diff
changeset
|
395 %!test <*63203> |
94dc0f5ba8a3
var.m: Add two-output tests for Inf and NaN inputs (bug #63203)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31306
diff
changeset
|
396 %! [v, m] = var ([Inf, 2, NaN], [], 1); |
94dc0f5ba8a3
var.m: Add two-output tests for Inf and NaN inputs (bug #63203)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31306
diff
changeset
|
397 %! assert (v, [NaN, 0, NaN]); |
94dc0f5ba8a3
var.m: Add two-output tests for Inf and NaN inputs (bug #63203)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31306
diff
changeset
|
398 %! assert (m, [Inf, 2, NaN]); |
94dc0f5ba8a3
var.m: Add two-output tests for Inf and NaN inputs (bug #63203)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31306
diff
changeset
|
399 %!test <*63203> |
94dc0f5ba8a3
var.m: Add two-output tests for Inf and NaN inputs (bug #63203)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31306
diff
changeset
|
400 %! [v, m] = var ([Inf, 2, NaN], [], 2); |
94dc0f5ba8a3
var.m: Add two-output tests for Inf and NaN inputs (bug #63203)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31306
diff
changeset
|
401 %! assert (v, NaN); |
94dc0f5ba8a3
var.m: Add two-output tests for Inf and NaN inputs (bug #63203)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31306
diff
changeset
|
402 %! assert (m, NaN); |
94dc0f5ba8a3
var.m: Add two-output tests for Inf and NaN inputs (bug #63203)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31306
diff
changeset
|
403 %!test <*63203> |
94dc0f5ba8a3
var.m: Add two-output tests for Inf and NaN inputs (bug #63203)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31306
diff
changeset
|
404 %! [v, m] = var ([NaN, 2, Inf], [], 1); |
94dc0f5ba8a3
var.m: Add two-output tests for Inf and NaN inputs (bug #63203)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31306
diff
changeset
|
405 %! assert (v, [NaN, 0, NaN]); |
94dc0f5ba8a3
var.m: Add two-output tests for Inf and NaN inputs (bug #63203)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31306
diff
changeset
|
406 %! assert (m, [NaN, 2, Inf]); |
94dc0f5ba8a3
var.m: Add two-output tests for Inf and NaN inputs (bug #63203)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31306
diff
changeset
|
407 %!test <*63203> |
94dc0f5ba8a3
var.m: Add two-output tests for Inf and NaN inputs (bug #63203)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31306
diff
changeset
|
408 %! [v, m] = var ([NaN, 2, Inf], [], 2); |
94dc0f5ba8a3
var.m: Add two-output tests for Inf and NaN inputs (bug #63203)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31306
diff
changeset
|
409 %! assert (v, NaN); |
94dc0f5ba8a3
var.m: Add two-output tests for Inf and NaN inputs (bug #63203)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31306
diff
changeset
|
410 %! assert (m, NaN); |
94dc0f5ba8a3
var.m: Add two-output tests for Inf and NaN inputs (bug #63203)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31306
diff
changeset
|
411 %!test <*63203> |
94dc0f5ba8a3
var.m: Add two-output tests for Inf and NaN inputs (bug #63203)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31306
diff
changeset
|
412 %! [v, m] = var ([1, 3, NaN; 3, 5, Inf]); |
94dc0f5ba8a3
var.m: Add two-output tests for Inf and NaN inputs (bug #63203)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31306
diff
changeset
|
413 %! assert (v, [2, 2, NaN]); |
94dc0f5ba8a3
var.m: Add two-output tests for Inf and NaN inputs (bug #63203)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31306
diff
changeset
|
414 %! assert (m, [2, 4, NaN]); |
94dc0f5ba8a3
var.m: Add two-output tests for Inf and NaN inputs (bug #63203)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31306
diff
changeset
|
415 %!test <*63203> |
94dc0f5ba8a3
var.m: Add two-output tests for Inf and NaN inputs (bug #63203)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31306
diff
changeset
|
416 %! [v, m] = var ([1, 3, Inf; 3, 5, NaN]); |
94dc0f5ba8a3
var.m: Add two-output tests for Inf and NaN inputs (bug #63203)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31306
diff
changeset
|
417 %! assert (v, [2, 2, NaN]); |
94dc0f5ba8a3
var.m: Add two-output tests for Inf and NaN inputs (bug #63203)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
31306
diff
changeset
|
418 %! assert (m, [2, 4, NaN]); |
31305
3b16c2d90326
var.m: Ensure consistent NaN outputs for Inf and NaN inputs (bug #63203)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
30616
diff
changeset
|
419 |
19833
9fc020886ae9
maint: Clean up m-files to follow Octave coding conventions.
Rik <rik@octave.org>
parents:
19697
diff
changeset
|
420 ## Test input validation |
28886
d8318c12d903
test: remove unnecessary BIST tests in m-files checking for excessive number of inputs.
Rik <rik@octave.org>
parents:
28789
diff
changeset
|
421 %!error <Invalid call> var () |
21309
7fbecef105ca
Allow statistics functions to work over non-existent dimension (bug #33523).
Rik <rik@octave.org>
parents:
20852
diff
changeset
|
422 %!error <X must be a numeric> var (['A'; 'B']) |
30410
bc0de453fb6a
extend var and std with dim options (bug #58116) and weights (patch #10103)
Stefano Guidoni <ilguido@users.sf.net>
parents:
29359
diff
changeset
|
423 %!error <W must be 0> var ([1 2 3], 2) |
bc0de453fb6a
extend var and std with dim options (bug #58116) and weights (patch #10103)
Stefano Guidoni <ilguido@users.sf.net>
parents:
29359
diff
changeset
|
424 %!error <W must be .* a vector of positive integers> var ([1 2], [-1 0]) |
bc0de453fb6a
extend var and std with dim options (bug #58116) and weights (patch #10103)
Stefano Guidoni <ilguido@users.sf.net>
parents:
29359
diff
changeset
|
425 %!error <W must be .* a vector of positive integers> var ([1 2], eye (2)) |
bc0de453fb6a
extend var and std with dim options (bug #58116) and weights (patch #10103)
Stefano Guidoni <ilguido@users.sf.net>
parents:
29359
diff
changeset
|
426 %!error <W must be either 0 or 1> var (ones (2, 2), [1 2], [1 2]) |
bc0de453fb6a
extend var and std with dim options (bug #58116) and weights (patch #10103)
Stefano Guidoni <ilguido@users.sf.net>
parents:
29359
diff
changeset
|
427 %!error <W must be either 0 or 1> var ([1 2], [1 2], 'all') |
bc0de453fb6a
extend var and std with dim options (bug #58116) and weights (patch #10103)
Stefano Guidoni <ilguido@users.sf.net>
parents:
29359
diff
changeset
|
428 %!error <the length of W must be> var ([1 2], [1 2 3]) |
bc0de453fb6a
extend var and std with dim options (bug #58116) and weights (patch #10103)
Stefano Guidoni <ilguido@users.sf.net>
parents:
29359
diff
changeset
|
429 %!error <the length of W must be> var (1, [1 2]) |
bc0de453fb6a
extend var and std with dim options (bug #58116) and weights (patch #10103)
Stefano Guidoni <ilguido@users.sf.net>
parents:
29359
diff
changeset
|
430 %!error <the length of W must be> var ([1 2], [1 2], 1) |
bc0de453fb6a
extend var and std with dim options (bug #58116) and weights (patch #10103)
Stefano Guidoni <ilguido@users.sf.net>
parents:
29359
diff
changeset
|
431 %!error <DIM must be a positive integer> var (1, [], ones (2,2)) |
bc0de453fb6a
extend var and std with dim options (bug #58116) and weights (patch #10103)
Stefano Guidoni <ilguido@users.sf.net>
parents:
29359
diff
changeset
|
432 %!error <DIM must be a positive integer> var (1, [], 1.5) |
bc0de453fb6a
extend var and std with dim options (bug #58116) and weights (patch #10103)
Stefano Guidoni <ilguido@users.sf.net>
parents:
29359
diff
changeset
|
433 %!error <DIM must be a positive integer> var (1, [], 0) |