Mercurial > octave
annotate scripts/general/sph2cart.m @ 25054:6652d3823428 stable
maint: Update copyright dates in all source files.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Fri, 30 Mar 2018 09:19:05 -0400 |
parents | 194eb4bd202b |
children | 00f796120a6d |
rev | line source |
---|---|
25054
6652d3823428
maint: Update copyright dates in all source files.
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
1 ## Copyright (C) 2000-2018 Kai Habel |
3803 | 2 ## |
3 ## This file is part of Octave. | |
4 ## | |
24534
194eb4bd202b
maint: Update punctuation for GPL v3 license text.
Rik <rik@octave.org>
parents:
23220
diff
changeset
|
5 ## Octave is free software: you can redistribute it and/or modify it |
3803 | 6 ## 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:
23220
diff
changeset
|
7 ## the Free Software Foundation, either version 3 of the License, or |
22755
3a2b891d0b33
maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents:
22432
diff
changeset
|
8 ## (at your option) any later version. |
3803 | 9 ## |
10 ## Octave is distributed in the hope that it will be useful, but | |
11 ## WITHOUT ANY WARRANTY; without even the implied warranty of | |
22755
3a2b891d0b33
maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents:
22432
diff
changeset
|
12 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
3a2b891d0b33
maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents:
22432
diff
changeset
|
13 ## GNU General Public License for more details. |
3803 | 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 |
24534
194eb4bd202b
maint: Update punctuation for GPL v3 license text.
Rik <rik@octave.org>
parents:
23220
diff
changeset
|
17 ## <https://www.gnu.org/licenses/>. |
3803 | 18 |
19 ## -*- texinfo -*- | |
20852
516bb87ea72e
2015 Code Sprint: remove class of function from docstring for all m-files.
Rik <rik@octave.org>
parents:
20158
diff
changeset
|
20 ## @deftypefn {} {[@var{x}, @var{y}, @var{z}] =} sph2cart (@var{theta}, @var{phi}, @var{r}) |
516bb87ea72e
2015 Code Sprint: remove class of function from docstring for all m-files.
Rik <rik@octave.org>
parents:
20158
diff
changeset
|
21 ## @deftypefnx {} {[@var{x}, @var{y}, @var{z}] =} sph2cart (@var{S}) |
516bb87ea72e
2015 Code Sprint: remove class of function from docstring for all m-files.
Rik <rik@octave.org>
parents:
20158
diff
changeset
|
22 ## @deftypefnx {} {@var{C} =} sph2cart (@dots{}) |
20158
7503499a252b
doc: Update docstrings to have one sentence summary as first line.
Rik <rik@octave.org>
parents:
19697
diff
changeset
|
23 ## Transform spherical coordinates to Cartesian coordinates. |
7503499a252b
doc: Update docstrings to have one sentence summary as first line.
Rik <rik@octave.org>
parents:
19697
diff
changeset
|
24 ## |
7503499a252b
doc: Update docstrings to have one sentence summary as first line.
Rik <rik@octave.org>
parents:
19697
diff
changeset
|
25 ## The inputs @var{theta}, @var{phi}, and @var{r} must be the same shape, or |
7503499a252b
doc: Update docstrings to have one sentence summary as first line.
Rik <rik@octave.org>
parents:
19697
diff
changeset
|
26 ## scalar. If called with a single matrix argument then each row of @var{S} |
7503499a252b
doc: Update docstrings to have one sentence summary as first line.
Rik <rik@octave.org>
parents:
19697
diff
changeset
|
27 ## represents the spherical coordinate (@var{theta}, @var{phi}, @var{r}). |
10688
7357e37f34fa
coordinate transforms: add option to operate on column matrix of coordinates.
Rik <octave@nomad.inbox5.com>
parents:
10687
diff
changeset
|
28 ## |
9168
742cf6388a8f
Update section 17.7 (Coordinate Transformations) of arith.txi
Rik <rdrider0-list@yahoo.com>
parents:
8920
diff
changeset
|
29 ## @var{theta} describes the angle relative to the positive x-axis. |
20158
7503499a252b
doc: Update docstrings to have one sentence summary as first line.
Rik <rik@octave.org>
parents:
19697
diff
changeset
|
30 ## |
3803 | 31 ## @var{phi} is the angle relative to the xy-plane. |
20158
7503499a252b
doc: Update docstrings to have one sentence summary as first line.
Rik <rik@octave.org>
parents:
19697
diff
changeset
|
32 ## |
10687
a8ce6bdecce5
Improve documentation strings.
Rik <octave@nomad.inbox5.com>
parents:
9168
diff
changeset
|
33 ## @var{r} is the distance to the origin @w{(0, 0, 0)}. |
11587
c792872f8942
all script files: untabify and strip trailing whitespace
John W. Eaton <jwe@octave.org>
parents:
11523
diff
changeset
|
34 ## |
20158
7503499a252b
doc: Update docstrings to have one sentence summary as first line.
Rik <rik@octave.org>
parents:
19697
diff
changeset
|
35 ## If only a single return argument is requested then return a matrix @var{C} |
7503499a252b
doc: Update docstrings to have one sentence summary as first line.
Rik <rik@octave.org>
parents:
19697
diff
changeset
|
36 ## where each row represents one Cartesian coordinate |
10688
7357e37f34fa
coordinate transforms: add option to operate on column matrix of coordinates.
Rik <octave@nomad.inbox5.com>
parents:
10687
diff
changeset
|
37 ## (@var{x}, @var{y}, @var{z}). |
7357e37f34fa
coordinate transforms: add option to operate on column matrix of coordinates.
Rik <octave@nomad.inbox5.com>
parents:
10687
diff
changeset
|
38 ## @seealso{cart2sph, pol2cart, cart2pol} |
3803 | 39 ## @end deftypefn |
40 | |
41 ## Author: Kai Habel <kai.habel@gmx.de> | |
42 ## Adapted-by: jwe | |
43 | |
8533
fb1b87ea4af9
Permit scalars when transforming coordinates.
Ben Abbott <bpabbott@mac.com>
parents:
7017
diff
changeset
|
44 function [x, y, z] = sph2cart (theta, phi, r) |
3803 | 45 |
10688
7357e37f34fa
coordinate transforms: add option to operate on column matrix of coordinates.
Rik <octave@nomad.inbox5.com>
parents:
10687
diff
changeset
|
46 if (nargin != 1 && nargin != 3) |
6046 | 47 print_usage (); |
3803 | 48 endif |
49 | |
10688
7357e37f34fa
coordinate transforms: add option to operate on column matrix of coordinates.
Rik <octave@nomad.inbox5.com>
parents:
10687
diff
changeset
|
50 if (nargin == 1) |
21172
5f62b5dae8b1
Fix regression for coordinate transforms on 3-D arrays (partial fix bug #47036).
Colin Macdonald <cbm@m.fsf.org>
parents:
20158
diff
changeset
|
51 if (! (isnumeric (theta) && ismatrix (theta) && columns (theta) == 3)) |
10688
7357e37f34fa
coordinate transforms: add option to operate on column matrix of coordinates.
Rik <octave@nomad.inbox5.com>
parents:
10687
diff
changeset
|
52 error ("sph2cart: matrix input must have 3 columns [THETA, PHI, R]"); |
7357e37f34fa
coordinate transforms: add option to operate on column matrix of coordinates.
Rik <octave@nomad.inbox5.com>
parents:
10687
diff
changeset
|
53 endif |
21172
5f62b5dae8b1
Fix regression for coordinate transforms on 3-D arrays (partial fix bug #47036).
Colin Macdonald <cbm@m.fsf.org>
parents:
20158
diff
changeset
|
54 r = theta(:,3); |
5f62b5dae8b1
Fix regression for coordinate transforms on 3-D arrays (partial fix bug #47036).
Colin Macdonald <cbm@m.fsf.org>
parents:
20158
diff
changeset
|
55 phi = theta(:,2); |
5f62b5dae8b1
Fix regression for coordinate transforms on 3-D arrays (partial fix bug #47036).
Colin Macdonald <cbm@m.fsf.org>
parents:
20158
diff
changeset
|
56 theta = theta(:,1); |
5f62b5dae8b1
Fix regression for coordinate transforms on 3-D arrays (partial fix bug #47036).
Colin Macdonald <cbm@m.fsf.org>
parents:
20158
diff
changeset
|
57 else |
22432
1e88747417e6
Allow mixed scalar/array inputs to cart2pol, cart2sph, pol2cart, sph2cart (bug #48950).
Rik <rik@octave.org>
parents:
21178
diff
changeset
|
58 if (! isnumeric (theta) || ! isnumeric (phi) || ! isnumeric (r)) |
1e88747417e6
Allow mixed scalar/array inputs to cart2pol, cart2sph, pol2cart, sph2cart (bug #48950).
Rik <rik@octave.org>
parents:
21178
diff
changeset
|
59 error ("sph2cart: THETA, PHI, R must be numeric arrays of the same size, or scalar"); |
1e88747417e6
Allow mixed scalar/array inputs to cart2pol, cart2sph, pol2cart, sph2cart (bug #48950).
Rik <rik@octave.org>
parents:
21178
diff
changeset
|
60 endif |
1e88747417e6
Allow mixed scalar/array inputs to cart2pol, cart2sph, pol2cart, sph2cart (bug #48950).
Rik <rik@octave.org>
parents:
21178
diff
changeset
|
61 [err, theta, phi, r] = common_size (theta, phi, r); |
1e88747417e6
Allow mixed scalar/array inputs to cart2pol, cart2sph, pol2cart, sph2cart (bug #48950).
Rik <rik@octave.org>
parents:
21178
diff
changeset
|
62 if (err) |
21172
5f62b5dae8b1
Fix regression for coordinate transforms on 3-D arrays (partial fix bug #47036).
Colin Macdonald <cbm@m.fsf.org>
parents:
20158
diff
changeset
|
63 error ("sph2cart: THETA, PHI, R must be numeric arrays of the same size, or scalar"); |
10688
7357e37f34fa
coordinate transforms: add option to operate on column matrix of coordinates.
Rik <octave@nomad.inbox5.com>
parents:
10687
diff
changeset
|
64 endif |
7357e37f34fa
coordinate transforms: add option to operate on column matrix of coordinates.
Rik <octave@nomad.inbox5.com>
parents:
10687
diff
changeset
|
65 endif |
8533
fb1b87ea4af9
Permit scalars when transforming coordinates.
Ben Abbott <bpabbott@mac.com>
parents:
7017
diff
changeset
|
66 |
10688
7357e37f34fa
coordinate transforms: add option to operate on column matrix of coordinates.
Rik <octave@nomad.inbox5.com>
parents:
10687
diff
changeset
|
67 x = r .* cos (phi) .* cos (theta); |
7357e37f34fa
coordinate transforms: add option to operate on column matrix of coordinates.
Rik <octave@nomad.inbox5.com>
parents:
10687
diff
changeset
|
68 y = r .* cos (phi) .* sin (theta); |
7357e37f34fa
coordinate transforms: add option to operate on column matrix of coordinates.
Rik <octave@nomad.inbox5.com>
parents:
10687
diff
changeset
|
69 z = r .* sin (phi); |
8533
fb1b87ea4af9
Permit scalars when transforming coordinates.
Ben Abbott <bpabbott@mac.com>
parents:
7017
diff
changeset
|
70 |
10688
7357e37f34fa
coordinate transforms: add option to operate on column matrix of coordinates.
Rik <octave@nomad.inbox5.com>
parents:
10687
diff
changeset
|
71 if (nargout <= 1) |
17585
36b9fa789d8e
Overhaul polar, spherical, cartesian conversion routiens when nargout == 1.
Rik <rik@octave.org>
parents:
14363
diff
changeset
|
72 x = [x(:), y(:), z(:)]; |
3803 | 73 endif |
74 | |
8533
fb1b87ea4af9
Permit scalars when transforming coordinates.
Ben Abbott <bpabbott@mac.com>
parents:
7017
diff
changeset
|
75 endfunction |
fb1b87ea4af9
Permit scalars when transforming coordinates.
Ben Abbott <bpabbott@mac.com>
parents:
7017
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 |
8533
fb1b87ea4af9
Permit scalars when transforming coordinates.
Ben Abbott <bpabbott@mac.com>
parents:
7017
diff
changeset
|
78 %!test |
fb1b87ea4af9
Permit scalars when transforming coordinates.
Ben Abbott <bpabbott@mac.com>
parents:
7017
diff
changeset
|
79 %! t = [0, 0, 0]; |
fb1b87ea4af9
Permit scalars when transforming coordinates.
Ben Abbott <bpabbott@mac.com>
parents:
7017
diff
changeset
|
80 %! p = [0, 0, 0]; |
fb1b87ea4af9
Permit scalars when transforming coordinates.
Ben Abbott <bpabbott@mac.com>
parents:
7017
diff
changeset
|
81 %! r = [0, 1, 2]; |
fb1b87ea4af9
Permit scalars when transforming coordinates.
Ben Abbott <bpabbott@mac.com>
parents:
7017
diff
changeset
|
82 %! [x, y, z] = sph2cart (t, p, r); |
fb1b87ea4af9
Permit scalars when transforming coordinates.
Ben Abbott <bpabbott@mac.com>
parents:
7017
diff
changeset
|
83 %! assert (x, r); |
fb1b87ea4af9
Permit scalars when transforming coordinates.
Ben Abbott <bpabbott@mac.com>
parents:
7017
diff
changeset
|
84 %! assert (y, [0, 0, 0]); |
fb1b87ea4af9
Permit scalars when transforming coordinates.
Ben Abbott <bpabbott@mac.com>
parents:
7017
diff
changeset
|
85 %! assert (z, [0, 0, 0]); |
3803 | 86 |
8533
fb1b87ea4af9
Permit scalars when transforming coordinates.
Ben Abbott <bpabbott@mac.com>
parents:
7017
diff
changeset
|
87 %!test |
fb1b87ea4af9
Permit scalars when transforming coordinates.
Ben Abbott <bpabbott@mac.com>
parents:
7017
diff
changeset
|
88 %! t = 0; |
fb1b87ea4af9
Permit scalars when transforming coordinates.
Ben Abbott <bpabbott@mac.com>
parents:
7017
diff
changeset
|
89 %! p = [0, 0, 0]; |
fb1b87ea4af9
Permit scalars when transforming coordinates.
Ben Abbott <bpabbott@mac.com>
parents:
7017
diff
changeset
|
90 %! r = [0, 1, 2]; |
17585
36b9fa789d8e
Overhaul polar, spherical, cartesian conversion routiens when nargout == 1.
Rik <rik@octave.org>
parents:
14363
diff
changeset
|
91 %! C = sph2cart (t, p, r); |
36b9fa789d8e
Overhaul polar, spherical, cartesian conversion routiens when nargout == 1.
Rik <rik@octave.org>
parents:
14363
diff
changeset
|
92 %! assert (C(:,1), r(:)); |
36b9fa789d8e
Overhaul polar, spherical, cartesian conversion routiens when nargout == 1.
Rik <rik@octave.org>
parents:
14363
diff
changeset
|
93 %! assert (C(:,2), [0; 0; 0]); |
36b9fa789d8e
Overhaul polar, spherical, cartesian conversion routiens when nargout == 1.
Rik <rik@octave.org>
parents:
14363
diff
changeset
|
94 %! assert (C(:,3), [0; 0; 0]); |
8533
fb1b87ea4af9
Permit scalars when transforming coordinates.
Ben Abbott <bpabbott@mac.com>
parents:
7017
diff
changeset
|
95 |
fb1b87ea4af9
Permit scalars when transforming coordinates.
Ben Abbott <bpabbott@mac.com>
parents:
7017
diff
changeset
|
96 %!test |
fb1b87ea4af9
Permit scalars when transforming coordinates.
Ben Abbott <bpabbott@mac.com>
parents:
7017
diff
changeset
|
97 %! t = [0, 0, 0]; |
fb1b87ea4af9
Permit scalars when transforming coordinates.
Ben Abbott <bpabbott@mac.com>
parents:
7017
diff
changeset
|
98 %! p = 0; |
fb1b87ea4af9
Permit scalars when transforming coordinates.
Ben Abbott <bpabbott@mac.com>
parents:
7017
diff
changeset
|
99 %! r = [0, 1, 2]; |
fb1b87ea4af9
Permit scalars when transforming coordinates.
Ben Abbott <bpabbott@mac.com>
parents:
7017
diff
changeset
|
100 %! [x, y, z] = sph2cart (t, p, r); |
fb1b87ea4af9
Permit scalars when transforming coordinates.
Ben Abbott <bpabbott@mac.com>
parents:
7017
diff
changeset
|
101 %! assert (x, r); |
fb1b87ea4af9
Permit scalars when transforming coordinates.
Ben Abbott <bpabbott@mac.com>
parents:
7017
diff
changeset
|
102 %! assert (y, [0, 0, 0]); |
fb1b87ea4af9
Permit scalars when transforming coordinates.
Ben Abbott <bpabbott@mac.com>
parents:
7017
diff
changeset
|
103 %! assert (z, [0, 0, 0]); |
fb1b87ea4af9
Permit scalars when transforming coordinates.
Ben Abbott <bpabbott@mac.com>
parents:
7017
diff
changeset
|
104 |
fb1b87ea4af9
Permit scalars when transforming coordinates.
Ben Abbott <bpabbott@mac.com>
parents:
7017
diff
changeset
|
105 %!test |
fb1b87ea4af9
Permit scalars when transforming coordinates.
Ben Abbott <bpabbott@mac.com>
parents:
7017
diff
changeset
|
106 %! t = [0, 0.5, 1]*pi; |
fb1b87ea4af9
Permit scalars when transforming coordinates.
Ben Abbott <bpabbott@mac.com>
parents:
7017
diff
changeset
|
107 %! p = [0, 0, 0]; |
fb1b87ea4af9
Permit scalars when transforming coordinates.
Ben Abbott <bpabbott@mac.com>
parents:
7017
diff
changeset
|
108 %! r = 1; |
fb1b87ea4af9
Permit scalars when transforming coordinates.
Ben Abbott <bpabbott@mac.com>
parents:
7017
diff
changeset
|
109 %! [x, y, z] = sph2cart (t, p, r); |
fb1b87ea4af9
Permit scalars when transforming coordinates.
Ben Abbott <bpabbott@mac.com>
parents:
7017
diff
changeset
|
110 %! assert (x, [1, 0, -1], eps); |
fb1b87ea4af9
Permit scalars when transforming coordinates.
Ben Abbott <bpabbott@mac.com>
parents:
7017
diff
changeset
|
111 %! assert (y, [0, 1, 0], eps); |
fb1b87ea4af9
Permit scalars when transforming coordinates.
Ben Abbott <bpabbott@mac.com>
parents:
7017
diff
changeset
|
112 %! assert (z, [0, 0, 0], eps); |
fb1b87ea4af9
Permit scalars when transforming coordinates.
Ben Abbott <bpabbott@mac.com>
parents:
7017
diff
changeset
|
113 |
10688
7357e37f34fa
coordinate transforms: add option to operate on column matrix of coordinates.
Rik <octave@nomad.inbox5.com>
parents:
10687
diff
changeset
|
114 %!test |
22432
1e88747417e6
Allow mixed scalar/array inputs to cart2pol, cart2sph, pol2cart, sph2cart (bug #48950).
Rik <rik@octave.org>
parents:
21178
diff
changeset
|
115 %! [x, y, z] = sph2cart ([0 0 0], 0, 1); |
1e88747417e6
Allow mixed scalar/array inputs to cart2pol, cart2sph, pol2cart, sph2cart (bug #48950).
Rik <rik@octave.org>
parents:
21178
diff
changeset
|
116 %! assert (x, [1, 1, 1], eps); |
1e88747417e6
Allow mixed scalar/array inputs to cart2pol, cart2sph, pol2cart, sph2cart (bug #48950).
Rik <rik@octave.org>
parents:
21178
diff
changeset
|
117 %! assert (y, [0, 0, 0], eps); |
1e88747417e6
Allow mixed scalar/array inputs to cart2pol, cart2sph, pol2cart, sph2cart (bug #48950).
Rik <rik@octave.org>
parents:
21178
diff
changeset
|
118 %! assert (z, [0, 0, 0], eps); |
1e88747417e6
Allow mixed scalar/array inputs to cart2pol, cart2sph, pol2cart, sph2cart (bug #48950).
Rik <rik@octave.org>
parents:
21178
diff
changeset
|
119 |
1e88747417e6
Allow mixed scalar/array inputs to cart2pol, cart2sph, pol2cart, sph2cart (bug #48950).
Rik <rik@octave.org>
parents:
21178
diff
changeset
|
120 %!test |
10688
7357e37f34fa
coordinate transforms: add option to operate on column matrix of coordinates.
Rik <octave@nomad.inbox5.com>
parents:
10687
diff
changeset
|
121 %! S = [ 0, 0, 1; 0.5*pi, 0, 1; pi, 0, 1]; |
7357e37f34fa
coordinate transforms: add option to operate on column matrix of coordinates.
Rik <octave@nomad.inbox5.com>
parents:
10687
diff
changeset
|
122 %! C = [ 1, 0, 0; 0, 1, 0; -1, 0, 0]; |
14363
f3d52523cde1
Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
123 %! assert (sph2cart (S), C, eps); |
10688
7357e37f34fa
coordinate transforms: add option to operate on column matrix of coordinates.
Rik <octave@nomad.inbox5.com>
parents:
10687
diff
changeset
|
124 |
21172
5f62b5dae8b1
Fix regression for coordinate transforms on 3-D arrays (partial fix bug #47036).
Colin Macdonald <cbm@m.fsf.org>
parents:
20158
diff
changeset
|
125 %!test |
5f62b5dae8b1
Fix regression for coordinate transforms on 3-D arrays (partial fix bug #47036).
Colin Macdonald <cbm@m.fsf.org>
parents:
20158
diff
changeset
|
126 %! [t, p, r] = meshgrid ([0, pi/2], [0, pi/2], [0, 1]); |
5f62b5dae8b1
Fix regression for coordinate transforms on 3-D arrays (partial fix bug #47036).
Colin Macdonald <cbm@m.fsf.org>
parents:
20158
diff
changeset
|
127 %! [x, y, z] = sph2cart (t, p, r); |
5f62b5dae8b1
Fix regression for coordinate transforms on 3-D arrays (partial fix bug #47036).
Colin Macdonald <cbm@m.fsf.org>
parents:
20158
diff
changeset
|
128 %! X = zeros(2, 2, 2); |
5f62b5dae8b1
Fix regression for coordinate transforms on 3-D arrays (partial fix bug #47036).
Colin Macdonald <cbm@m.fsf.org>
parents:
20158
diff
changeset
|
129 %! X(1, 1, 2) = 1; |
5f62b5dae8b1
Fix regression for coordinate transforms on 3-D arrays (partial fix bug #47036).
Colin Macdonald <cbm@m.fsf.org>
parents:
20158
diff
changeset
|
130 %! Y = zeros(2, 2, 2); |
5f62b5dae8b1
Fix regression for coordinate transforms on 3-D arrays (partial fix bug #47036).
Colin Macdonald <cbm@m.fsf.org>
parents:
20158
diff
changeset
|
131 %! Y(1, 2, 2) = 1; |
5f62b5dae8b1
Fix regression for coordinate transforms on 3-D arrays (partial fix bug #47036).
Colin Macdonald <cbm@m.fsf.org>
parents:
20158
diff
changeset
|
132 %! Z = zeros(2, 2, 2); |
5f62b5dae8b1
Fix regression for coordinate transforms on 3-D arrays (partial fix bug #47036).
Colin Macdonald <cbm@m.fsf.org>
parents:
20158
diff
changeset
|
133 %! Z(2, :, 2) = [1 1]; |
5f62b5dae8b1
Fix regression for coordinate transforms on 3-D arrays (partial fix bug #47036).
Colin Macdonald <cbm@m.fsf.org>
parents:
20158
diff
changeset
|
134 %! assert (x, X, eps); |
5f62b5dae8b1
Fix regression for coordinate transforms on 3-D arrays (partial fix bug #47036).
Colin Macdonald <cbm@m.fsf.org>
parents:
20158
diff
changeset
|
135 %! assert (y, Y, eps); |
5f62b5dae8b1
Fix regression for coordinate transforms on 3-D arrays (partial fix bug #47036).
Colin Macdonald <cbm@m.fsf.org>
parents:
20158
diff
changeset
|
136 %! assert (z, Z); |
5f62b5dae8b1
Fix regression for coordinate transforms on 3-D arrays (partial fix bug #47036).
Colin Macdonald <cbm@m.fsf.org>
parents:
20158
diff
changeset
|
137 |
5f62b5dae8b1
Fix regression for coordinate transforms on 3-D arrays (partial fix bug #47036).
Colin Macdonald <cbm@m.fsf.org>
parents:
20158
diff
changeset
|
138 ## Test input validation |
5f62b5dae8b1
Fix regression for coordinate transforms on 3-D arrays (partial fix bug #47036).
Colin Macdonald <cbm@m.fsf.org>
parents:
20158
diff
changeset
|
139 %!error sph2cart () |
5f62b5dae8b1
Fix regression for coordinate transforms on 3-D arrays (partial fix bug #47036).
Colin Macdonald <cbm@m.fsf.org>
parents:
20158
diff
changeset
|
140 %!error sph2cart (1,2) |
5f62b5dae8b1
Fix regression for coordinate transforms on 3-D arrays (partial fix bug #47036).
Colin Macdonald <cbm@m.fsf.org>
parents:
20158
diff
changeset
|
141 %!error sph2cart (1,2,3,4) |
5f62b5dae8b1
Fix regression for coordinate transforms on 3-D arrays (partial fix bug #47036).
Colin Macdonald <cbm@m.fsf.org>
parents:
20158
diff
changeset
|
142 %!error <matrix input must have 3 columns> sph2cart ({1,2,3}) |
5f62b5dae8b1
Fix regression for coordinate transforms on 3-D arrays (partial fix bug #47036).
Colin Macdonald <cbm@m.fsf.org>
parents:
20158
diff
changeset
|
143 %!error <matrix input must have 3 columns> sph2cart (ones (3,3,2)) |
5f62b5dae8b1
Fix regression for coordinate transforms on 3-D arrays (partial fix bug #47036).
Colin Macdonald <cbm@m.fsf.org>
parents:
20158
diff
changeset
|
144 %!error <matrix input must have 3 columns> sph2cart ([1,2,3,4]) |
5f62b5dae8b1
Fix regression for coordinate transforms on 3-D arrays (partial fix bug #47036).
Colin Macdonald <cbm@m.fsf.org>
parents:
20158
diff
changeset
|
145 %!error <numeric arrays of the same size> sph2cart ({1,2,3}, [1,2,3], [1,2,3]) |
5f62b5dae8b1
Fix regression for coordinate transforms on 3-D arrays (partial fix bug #47036).
Colin Macdonald <cbm@m.fsf.org>
parents:
20158
diff
changeset
|
146 %!error <numeric arrays of the same size> sph2cart ([1,2,3], {1,2,3}, [1,2,3]) |
5f62b5dae8b1
Fix regression for coordinate transforms on 3-D arrays (partial fix bug #47036).
Colin Macdonald <cbm@m.fsf.org>
parents:
20158
diff
changeset
|
147 %!error <numeric arrays of the same size> sph2cart ([1,2,3], [1,2,3], {1,2,3}) |
5f62b5dae8b1
Fix regression for coordinate transforms on 3-D arrays (partial fix bug #47036).
Colin Macdonald <cbm@m.fsf.org>
parents:
20158
diff
changeset
|
148 %!error <numeric arrays of the same size> sph2cart (ones (3,3,3), 1, ones (3,2,3)) |
5f62b5dae8b1
Fix regression for coordinate transforms on 3-D arrays (partial fix bug #47036).
Colin Macdonald <cbm@m.fsf.org>
parents:
20158
diff
changeset
|
149 %!error <numeric arrays of the same size> sph2cart (ones (3,3,3), ones (3,2,3), 1) |