annotate scripts/plot/__plr2__.m @ 933:598a3aa40360

[project @ 1994-11-17 04:23:41 by jwe] Initial revision
author jwe
date Thu, 17 Nov 1994 04:23:41 +0000
parents
children 3f257ab07921
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
933
598a3aa40360 [project @ 1994-11-17 04:23:41 by jwe]
jwe
parents:
diff changeset
1 # Copyright (C) 1993, 1994 John W. Eaton
598a3aa40360 [project @ 1994-11-17 04:23:41 by jwe]
jwe
parents:
diff changeset
2 #
598a3aa40360 [project @ 1994-11-17 04:23:41 by jwe]
jwe
parents:
diff changeset
3 # This file is part of Octave.
598a3aa40360 [project @ 1994-11-17 04:23:41 by jwe]
jwe
parents:
diff changeset
4 #
598a3aa40360 [project @ 1994-11-17 04:23:41 by jwe]
jwe
parents:
diff changeset
5 # Octave is free software; you can redistribute it and/or modify it
598a3aa40360 [project @ 1994-11-17 04:23:41 by jwe]
jwe
parents:
diff changeset
6 # under the terms of the GNU General Public License as published by the
598a3aa40360 [project @ 1994-11-17 04:23:41 by jwe]
jwe
parents:
diff changeset
7 # Free Software Foundation; either version 2, or (at your option) any
598a3aa40360 [project @ 1994-11-17 04:23:41 by jwe]
jwe
parents:
diff changeset
8 # later version.
598a3aa40360 [project @ 1994-11-17 04:23:41 by jwe]
jwe
parents:
diff changeset
9 #
598a3aa40360 [project @ 1994-11-17 04:23:41 by jwe]
jwe
parents:
diff changeset
10 # Octave is distributed in the hope that it will be useful, but WITHOUT
598a3aa40360 [project @ 1994-11-17 04:23:41 by jwe]
jwe
parents:
diff changeset
11 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
598a3aa40360 [project @ 1994-11-17 04:23:41 by jwe]
jwe
parents:
diff changeset
12 # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
598a3aa40360 [project @ 1994-11-17 04:23:41 by jwe]
jwe
parents:
diff changeset
13 # for more details.
598a3aa40360 [project @ 1994-11-17 04:23:41 by jwe]
jwe
parents:
diff changeset
14 #
598a3aa40360 [project @ 1994-11-17 04:23:41 by jwe]
jwe
parents:
diff changeset
15 # You should have received a copy of the GNU General Public License
598a3aa40360 [project @ 1994-11-17 04:23:41 by jwe]
jwe
parents:
diff changeset
16 # along with Octave; see the file COPYING. If not, write to the Free
598a3aa40360 [project @ 1994-11-17 04:23:41 by jwe]
jwe
parents:
diff changeset
17 # Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
598a3aa40360 [project @ 1994-11-17 04:23:41 by jwe]
jwe
parents:
diff changeset
18
598a3aa40360 [project @ 1994-11-17 04:23:41 by jwe]
jwe
parents:
diff changeset
19 function polar_int_2 (theta, rho, fmt)
598a3aa40360 [project @ 1994-11-17 04:23:41 by jwe]
jwe
parents:
diff changeset
20
598a3aa40360 [project @ 1994-11-17 04:23:41 by jwe]
jwe
parents:
diff changeset
21 if (nargin != 3)
598a3aa40360 [project @ 1994-11-17 04:23:41 by jwe]
jwe
parents:
diff changeset
22 usage ("polar_int_2 (theta, rho, fmt)");
598a3aa40360 [project @ 1994-11-17 04:23:41 by jwe]
jwe
parents:
diff changeset
23 endif
598a3aa40360 [project @ 1994-11-17 04:23:41 by jwe]
jwe
parents:
diff changeset
24
598a3aa40360 [project @ 1994-11-17 04:23:41 by jwe]
jwe
parents:
diff changeset
25 if (any (imag (theta)))
598a3aa40360 [project @ 1994-11-17 04:23:41 by jwe]
jwe
parents:
diff changeset
26 theta = real (theta);
598a3aa40360 [project @ 1994-11-17 04:23:41 by jwe]
jwe
parents:
diff changeset
27 endif
598a3aa40360 [project @ 1994-11-17 04:23:41 by jwe]
jwe
parents:
diff changeset
28
598a3aa40360 [project @ 1994-11-17 04:23:41 by jwe]
jwe
parents:
diff changeset
29 if (any (imag (rho)))
598a3aa40360 [project @ 1994-11-17 04:23:41 by jwe]
jwe
parents:
diff changeset
30 rho = real (rho);
598a3aa40360 [project @ 1994-11-17 04:23:41 by jwe]
jwe
parents:
diff changeset
31 endif
598a3aa40360 [project @ 1994-11-17 04:23:41 by jwe]
jwe
parents:
diff changeset
32
598a3aa40360 [project @ 1994-11-17 04:23:41 by jwe]
jwe
parents:
diff changeset
33 if (is_scalar (theta))
598a3aa40360 [project @ 1994-11-17 04:23:41 by jwe]
jwe
parents:
diff changeset
34 if (is_scalar (rho))
598a3aa40360 [project @ 1994-11-17 04:23:41 by jwe]
jwe
parents:
diff changeset
35 x = rho * cos (theta);
598a3aa40360 [project @ 1994-11-17 04:23:41 by jwe]
jwe
parents:
diff changeset
36 y = rho * sin (theta);
598a3aa40360 [project @ 1994-11-17 04:23:41 by jwe]
jwe
parents:
diff changeset
37 plot_2_s_s (x, y, fmt);
598a3aa40360 [project @ 1994-11-17 04:23:41 by jwe]
jwe
parents:
diff changeset
38 endif
598a3aa40360 [project @ 1994-11-17 04:23:41 by jwe]
jwe
parents:
diff changeset
39 elseif (is_vector (theta))
598a3aa40360 [project @ 1994-11-17 04:23:41 by jwe]
jwe
parents:
diff changeset
40 if (is_vector (rho))
598a3aa40360 [project @ 1994-11-17 04:23:41 by jwe]
jwe
parents:
diff changeset
41 if (length (theta) != length (rho))
598a3aa40360 [project @ 1994-11-17 04:23:41 by jwe]
jwe
parents:
diff changeset
42 error ("polar: vector lengths must match");
598a3aa40360 [project @ 1994-11-17 04:23:41 by jwe]
jwe
parents:
diff changeset
43 endif
598a3aa40360 [project @ 1994-11-17 04:23:41 by jwe]
jwe
parents:
diff changeset
44 if (rows (rho) == 1)
598a3aa40360 [project @ 1994-11-17 04:23:41 by jwe]
jwe
parents:
diff changeset
45 rho = rho';
598a3aa40360 [project @ 1994-11-17 04:23:41 by jwe]
jwe
parents:
diff changeset
46 endif
598a3aa40360 [project @ 1994-11-17 04:23:41 by jwe]
jwe
parents:
diff changeset
47 if (rows (theta) == 1)
598a3aa40360 [project @ 1994-11-17 04:23:41 by jwe]
jwe
parents:
diff changeset
48 theta = theta';
598a3aa40360 [project @ 1994-11-17 04:23:41 by jwe]
jwe
parents:
diff changeset
49 endif
598a3aa40360 [project @ 1994-11-17 04:23:41 by jwe]
jwe
parents:
diff changeset
50 x = rho .* cos (theta);
598a3aa40360 [project @ 1994-11-17 04:23:41 by jwe]
jwe
parents:
diff changeset
51 y = rho .* sin (theta);
598a3aa40360 [project @ 1994-11-17 04:23:41 by jwe]
jwe
parents:
diff changeset
52 plot_2_v_v (x, y, fmt);
598a3aa40360 [project @ 1994-11-17 04:23:41 by jwe]
jwe
parents:
diff changeset
53 elseif (is_matrix (rho))
598a3aa40360 [project @ 1994-11-17 04:23:41 by jwe]
jwe
parents:
diff changeset
54 [t_nr, t_nc] = size (theta);
598a3aa40360 [project @ 1994-11-17 04:23:41 by jwe]
jwe
parents:
diff changeset
55 if (t_nr == 1)
598a3aa40360 [project @ 1994-11-17 04:23:41 by jwe]
jwe
parents:
diff changeset
56 theta = theta';
598a3aa40360 [project @ 1994-11-17 04:23:41 by jwe]
jwe
parents:
diff changeset
57 tmp = t_nr;
598a3aa40360 [project @ 1994-11-17 04:23:41 by jwe]
jwe
parents:
diff changeset
58 t_nr = t_nc;
598a3aa40360 [project @ 1994-11-17 04:23:41 by jwe]
jwe
parents:
diff changeset
59 t_nc = tmp;
598a3aa40360 [project @ 1994-11-17 04:23:41 by jwe]
jwe
parents:
diff changeset
60 endif
598a3aa40360 [project @ 1994-11-17 04:23:41 by jwe]
jwe
parents:
diff changeset
61 [r_nr, r_nc] = size (rho);
598a3aa40360 [project @ 1994-11-17 04:23:41 by jwe]
jwe
parents:
diff changeset
62 if (t_nr != r_nr)
598a3aa40360 [project @ 1994-11-17 04:23:41 by jwe]
jwe
parents:
diff changeset
63 rho = rho'
598a3aa40360 [project @ 1994-11-17 04:23:41 by jwe]
jwe
parents:
diff changeset
64 tmp = r_nr;
598a3aa40360 [project @ 1994-11-17 04:23:41 by jwe]
jwe
parents:
diff changeset
65 r_nr = r_nc;
598a3aa40360 [project @ 1994-11-17 04:23:41 by jwe]
jwe
parents:
diff changeset
66 r_nc = tmp;
598a3aa40360 [project @ 1994-11-17 04:23:41 by jwe]
jwe
parents:
diff changeset
67 endif
598a3aa40360 [project @ 1994-11-17 04:23:41 by jwe]
jwe
parents:
diff changeset
68 if (t_nr != r_nr)
598a3aa40360 [project @ 1994-11-17 04:23:41 by jwe]
jwe
parents:
diff changeset
69 error ("polar: vector and matrix sizes must match");
598a3aa40360 [project @ 1994-11-17 04:23:41 by jwe]
jwe
parents:
diff changeset
70 endif
598a3aa40360 [project @ 1994-11-17 04:23:41 by jwe]
jwe
parents:
diff changeset
71 x = diag (cos (theta)) * rho;
598a3aa40360 [project @ 1994-11-17 04:23:41 by jwe]
jwe
parents:
diff changeset
72 y = diag (sin (theta)) * rho;
598a3aa40360 [project @ 1994-11-17 04:23:41 by jwe]
jwe
parents:
diff changeset
73 plot_2_v_m (x, y, fmt);
598a3aa40360 [project @ 1994-11-17 04:23:41 by jwe]
jwe
parents:
diff changeset
74 endif
598a3aa40360 [project @ 1994-11-17 04:23:41 by jwe]
jwe
parents:
diff changeset
75 elseif (is_matrix (theta))
598a3aa40360 [project @ 1994-11-17 04:23:41 by jwe]
jwe
parents:
diff changeset
76 if (is_vector (rho))
598a3aa40360 [project @ 1994-11-17 04:23:41 by jwe]
jwe
parents:
diff changeset
77 [r_nr, r_nc] = size (rho);
598a3aa40360 [project @ 1994-11-17 04:23:41 by jwe]
jwe
parents:
diff changeset
78 if (r_nr == 1)
598a3aa40360 [project @ 1994-11-17 04:23:41 by jwe]
jwe
parents:
diff changeset
79 rho = rho';
598a3aa40360 [project @ 1994-11-17 04:23:41 by jwe]
jwe
parents:
diff changeset
80 tmp = r_nr;
598a3aa40360 [project @ 1994-11-17 04:23:41 by jwe]
jwe
parents:
diff changeset
81 r_nr = r_nc;
598a3aa40360 [project @ 1994-11-17 04:23:41 by jwe]
jwe
parents:
diff changeset
82 r_nc = tmp;
598a3aa40360 [project @ 1994-11-17 04:23:41 by jwe]
jwe
parents:
diff changeset
83 endif
598a3aa40360 [project @ 1994-11-17 04:23:41 by jwe]
jwe
parents:
diff changeset
84 [t_nr, t_nc] = size (theta);
598a3aa40360 [project @ 1994-11-17 04:23:41 by jwe]
jwe
parents:
diff changeset
85 if (r_nr != t_nr)
598a3aa40360 [project @ 1994-11-17 04:23:41 by jwe]
jwe
parents:
diff changeset
86 theta = rho'
598a3aa40360 [project @ 1994-11-17 04:23:41 by jwe]
jwe
parents:
diff changeset
87 tmp = t_nr;
598a3aa40360 [project @ 1994-11-17 04:23:41 by jwe]
jwe
parents:
diff changeset
88 t_nr = t_nc;
598a3aa40360 [project @ 1994-11-17 04:23:41 by jwe]
jwe
parents:
diff changeset
89 t_nc = tmp;
598a3aa40360 [project @ 1994-11-17 04:23:41 by jwe]
jwe
parents:
diff changeset
90 endif
598a3aa40360 [project @ 1994-11-17 04:23:41 by jwe]
jwe
parents:
diff changeset
91 if (r_nr != t_nr)
598a3aa40360 [project @ 1994-11-17 04:23:41 by jwe]
jwe
parents:
diff changeset
92 error ("polar: vector and matrix sizes must match");
598a3aa40360 [project @ 1994-11-17 04:23:41 by jwe]
jwe
parents:
diff changeset
93 endif
598a3aa40360 [project @ 1994-11-17 04:23:41 by jwe]
jwe
parents:
diff changeset
94 diag_r = diag (r);
598a3aa40360 [project @ 1994-11-17 04:23:41 by jwe]
jwe
parents:
diff changeset
95 x = diag_r * cos (theta);
598a3aa40360 [project @ 1994-11-17 04:23:41 by jwe]
jwe
parents:
diff changeset
96 y = diag_r * sin (theta);
598a3aa40360 [project @ 1994-11-17 04:23:41 by jwe]
jwe
parents:
diff changeset
97 plot_2_m_v (x, y, fmt);
598a3aa40360 [project @ 1994-11-17 04:23:41 by jwe]
jwe
parents:
diff changeset
98 elseif (is_matrix (rho))
598a3aa40360 [project @ 1994-11-17 04:23:41 by jwe]
jwe
parents:
diff changeset
99 if (size (rho) != size (theta))
598a3aa40360 [project @ 1994-11-17 04:23:41 by jwe]
jwe
parents:
diff changeset
100 error ("polar: matrix dimensions must match");
598a3aa40360 [project @ 1994-11-17 04:23:41 by jwe]
jwe
parents:
diff changeset
101 endif
598a3aa40360 [project @ 1994-11-17 04:23:41 by jwe]
jwe
parents:
diff changeset
102 x = rho .* cos (theta);
598a3aa40360 [project @ 1994-11-17 04:23:41 by jwe]
jwe
parents:
diff changeset
103 y = rho .* sin (theta);
598a3aa40360 [project @ 1994-11-17 04:23:41 by jwe]
jwe
parents:
diff changeset
104 plot_2_m_m (x, y, fmt);
598a3aa40360 [project @ 1994-11-17 04:23:41 by jwe]
jwe
parents:
diff changeset
105 endif
598a3aa40360 [project @ 1994-11-17 04:23:41 by jwe]
jwe
parents:
diff changeset
106 endif
598a3aa40360 [project @ 1994-11-17 04:23:41 by jwe]
jwe
parents:
diff changeset
107
598a3aa40360 [project @ 1994-11-17 04:23:41 by jwe]
jwe
parents:
diff changeset
108 endfunction