Mercurial > octave-dspies
comparison scripts/general/interp2.m @ 18664:900b524d9072
interp2: Verify Z matrix is 2-D (bug #41267).
* interp2.m: Validate that Z matrix is 2-D. Add %!error test to check new
code.
author | Rik <rik@octave.org> |
---|---|
date | Sat, 19 Apr 2014 09:28:20 -0700 |
parents | 4792a115c735 |
children |
comparison
equal
deleted
inserted
replaced
18663:271873b2f44f | 18664:900b524d9072 |
---|---|
139 otherwise | 139 otherwise |
140 print_usage (); | 140 print_usage (); |
141 endswitch | 141 endswitch |
142 | 142 |
143 ## Type checking | 143 ## Type checking |
144 if (! ismatrix (Z)) | 144 if (! (ismatrix (Z) && ndims (Z) == 2)) |
145 error ("interp2: Z must be a matrix"); | 145 error ("interp2: Z must be a 2-D matrix"); |
146 endif | 146 endif |
147 if (! isempty (n) && ! (isscalar (n) && n >= 0 && n == fix (n))) | 147 if (! isempty (n) && ! (isscalar (n) && n >= 0 && n == fix (n))) |
148 error ("interp2: N must be an integer >= 0"); | 148 error ("interp2: N must be an integer >= 0"); |
149 endif | 149 endif |
150 if (! ischar (method)) | 150 if (! ischar (method)) |
652 %!assert (interp2 (z, [2 3 1], [2 2 2], "pchip"), [5 7 3], tol) | 652 %!assert (interp2 (z, [2 3 1], [2 2 2], "pchip"), [5 7 3], tol) |
653 %!assert (interp2 (z, [2 3 1], [2 2 2], "cubic"), [5 7 3], 10 * tol) | 653 %!assert (interp2 (z, [2 3 1], [2 2 2], "cubic"), [5 7 3], 10 * tol) |
654 %!assert (interp2 (z, [2 3 1], [2 2 2], "spline"), [5 7 3], tol) | 654 %!assert (interp2 (z, [2 3 1], [2 2 2], "spline"), [5 7 3], tol) |
655 | 655 |
656 %% Test input validation | 656 %% Test input validation |
657 %!error <Z must be a matrix> interp2 ({1}) | 657 %!error <Z must be a 2-D matrix> interp2 ({1}) |
658 %!error <Z must be a 2-D matrix> interp2 (ones (2,2,2)) | |
658 %!error <N must be an integer .= 0> interp2 (1, ones (2)) | 659 %!error <N must be an integer .= 0> interp2 (1, ones (2)) |
659 %!error <N must be an integer .= 0> interp2 (1, -1) | 660 %!error <N must be an integer .= 0> interp2 (1, -1) |
660 %!error <N must be an integer .= 0> interp2 (1, 1.5) | 661 %!error <N must be an integer .= 0> interp2 (1, 1.5) |
661 %!error <METHOD must be a string> interp2 (1, 1, 1, 1, 1, 2) | 662 %!error <METHOD must be a string> interp2 (1, 1, 1, 1, 1, 2) |
662 %!warning <ignoring unsupported '\*' flag> interp2 (rand (3,3), 1, "*linear"); | 663 %!warning <ignoring unsupported '\*' flag> interp2 (rand (3,3), 1, "*linear"); |