annotate src/DLD-FUNCTIONS/besselj.cc @ 3187:3d3eca53ecca

[project @ 1998-10-09 03:24:56 by jwe]
author jwe
date Fri, 09 Oct 1998 03:24:56 +0000
parents 1016520a9d38
children 3deb1105fbc1
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
3155
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
1 /*
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
2
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
3 Copyright (C) 1997 John W. Eaton
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
4
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
5 This file is part of Octave.
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
6
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
7 Octave is free software; you can redistribute it and/or modify it
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
8 under the terms of the GNU General Public License as published by the
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
9 Free Software Foundation; either version 2, or (at your option) any
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
10 later version.
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
11
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
12 Octave is distributed in the hope that it will be useful, but WITHOUT
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
13 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
14 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
15 for more details.
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
16
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
17 You should have received a copy of the GNU General Public License
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
18 along with Octave; see the file COPYING. If not, write to the Free
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
19 Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
20
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
21 */
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
22
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
23 #ifdef HAVE_CONFIG_H
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
24 #include <config.h>
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
25 #endif
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
26
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
27 #include "lo-specfun.h"
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
28
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
29 #include "defun-dld.h"
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
30 #include "error.h"
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
31 #include "gripes.h"
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
32 #include "oct-obj.h"
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
33 #include "utils.h"
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
34
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
35 #define DO_BESSEL(type, alpha, x) \
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
36 do \
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
37 { \
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
38 switch (type) \
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
39 { \
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
40 case 'j': \
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
41 retval = besselj (alpha, x); \
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
42 break; \
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
43 \
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
44 case 'y': \
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
45 retval = bessely (alpha, x); \
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
46 break; \
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
47 \
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
48 case 'i': \
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
49 retval = besseli (alpha, x); \
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
50 break; \
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
51 \
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
52 case 'k': \
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
53 retval = besselk (alpha, x); \
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
54 break; \
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
55 \
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
56 default: \
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
57 break; \
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
58 } \
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
59 } \
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
60 while (0)
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
61
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
62 static void
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
63 gripe_bessel_arg_1 (const char *fn)
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
64 {
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
65 error ("%s: alpha must be scalar or range with increment equal to 1", fn);
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
66 }
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
67
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
68 octave_value_list
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
69 do_bessel (char type, const char *fn, const octave_value_list& args)
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
70 {
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
71 octave_value retval;
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
72
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
73 int nargin = args.length ();
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
74
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
75 if (nargin == 2)
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
76 {
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
77 octave_value alpha_arg = args(0);
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
78
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
79 if (alpha_arg.is_scalar_type ())
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
80 {
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
81 double alpha = alpha_arg.double_value ();
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
82
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
83 if (! error_state)
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
84 {
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
85 Matrix x = args(1).matrix_value ();
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
86
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
87 if (! error_state)
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
88 DO_BESSEL (type, alpha, x);
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
89 else
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
90 error ("%s: expecting matrix as second argument", fn);
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
91 }
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
92 else
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
93 gripe_bessel_arg_1 (fn);
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
94 }
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
95 else
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
96 {
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
97 Range alpha;
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
98
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
99 if (! alpha_arg.is_range ())
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
100 {
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
101 ColumnVector tmp = alpha_arg.vector_value ();
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
102
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
103 if (! error_state)
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
104 {
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
105 int len = tmp.length ();
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
106
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
107 double base = tmp(0);
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
108
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
109 for (int i = 1; i < len; i++)
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
110 {
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
111 if (tmp(i) != base + i)
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
112 {
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
113 gripe_bessel_arg_1 (fn);
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
114 break;
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
115 }
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
116 }
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
117
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
118 if (! error_state)
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
119 alpha = Range (tmp(0), tmp(len-1));
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
120 }
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
121 }
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
122 else
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
123 alpha = alpha_arg.range_value ();
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
124
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
125 if (! error_state)
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
126 {
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
127 ColumnVector x = args(1).vector_value ();
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
128
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
129 if (! error_state)
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
130 DO_BESSEL (type, alpha, x);
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
131 else
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
132 error ("%s: expecting vector as second argument", fn);
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
133 }
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
134 }
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
135 }
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
136 else
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
137 print_usage (fn);
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
138
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
139 return retval;
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
140 }
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
141
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
142 DEFUN_DLD (besselj, args, ,
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
143 "besselj (alpha, x)\n\
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
144 \n\
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
145 Compute Bessel functions of the first kind.\n\
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
146 \n\
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
147 X must be a real matrix, vector or scalar.\n\
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
148 \n\
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
149 If ALPHA is a scalar, the result is the same size as X. If ALPHA is a\n\
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
150 range, X must be a vector or scalar, and the result is a matrix with\n\
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
151 length(X) rows and length(ALPHA) columns.\n\
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
152 \n\
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
153 ALPHA must be greater than or equal to zero. If ALPHA is a range, it\n\
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
154 must have an increment equal to one.")
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
155 {
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
156 return do_bessel ('j', "besselj", args);
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
157 }
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
158
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
159 DEFUN_DLD (bessely, args, ,
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
160 "bessely (alpha, x)\n\
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
161 \n\
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
162 Compute Bessel functions of the second kind.\n\
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
163 \n\
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
164 X must be a real matrix, vector or scalar.\n\
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
165 \n\
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
166 If ALPHA is a scalar, the result is the same size as X. If ALPHA is a\n\
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
167 range, X must be a vector or scalar, and the result is a matrix with\n\
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
168 length(X) rows and length(ALPHA) columns.\n\
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
169 \n\
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
170 ALPHA must be greater than or equal to zero. If ALPHA is a range, it\n\
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
171 must have an increment equal to one.")
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
172 {
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
173 return do_bessel ('y', "bessely", args);
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
174 }
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
175
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
176 DEFUN_DLD (besseli, args, ,
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
177 "besseli (alpha, x)\n\
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
178 \n\
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
179 Compute modified Bessel functions of the first kind.\n\
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
180 \n\
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
181 X must be a real matrix, vector or scalar.\n\
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
182 \n\
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
183 If ALPHA is a scalar, the result is the same size as X. If ALPHA is a\n\
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
184 range, X must be a vector or scalar, and the result is a matrix with\n\
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
185 length(X) rows and length(ALPHA) columns.\n\
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
186 \n\
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
187 ALPHA must be greater than or equal to zero. If ALPHA is a range, it\n\
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
188 must have an increment equal to one.")
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
189 {
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
190 return do_bessel ('i', "besseli", args);
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
191 }
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
192
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
193 DEFUN_DLD (besselk, args, ,
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
194 "besselk (alpha, x)\n\
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
195 \n\
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
196 Compute modified Bessel functions of the second kind.\n\
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
197 \n\
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
198 X must be a real matrix, vector or scalar.\n\
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
199 \n\
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
200 If ALPHA is a scalar, the result is the same size as X. If ALPHA is a\n\
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
201 range, X must be a vector or scalar, and the result is a matrix with\n\
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
202 length(X) rows and length(ALPHA) columns.\n\
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
203 \n\
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
204 ALPHA must be greater than or equal to zero. If ALPHA is a range, it\n\
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
205 must have an increment equal to one.")
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
206 {
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
207 return do_bessel ('k', "besselk", args);
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
208 }
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
209
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
210 /*
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
211 ;;; Local Variables: ***
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
212 ;;; mode: C++ ***
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
213 ;;; End: ***
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
214 */
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
215