annotate src/DLD-FUNCTIONS/besselj.cc @ 3155:1016520a9d38

[project @ 1998-02-18 21:51:50 by jwe]
author jwe
date Wed, 18 Feb 1998 21:51:50 +0000
parents
children 3d3eca53ecca
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 "help.h"
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
33 #include "oct-obj.h"
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
34 #include "utils.h"
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
35
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
36 #define DO_BESSEL(type, alpha, x) \
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
37 do \
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
38 { \
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
39 switch (type) \
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
40 { \
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
41 case 'j': \
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
42 retval = besselj (alpha, x); \
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
43 break; \
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
44 \
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
45 case 'y': \
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
46 retval = bessely (alpha, x); \
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
47 break; \
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
48 \
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
49 case 'i': \
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
50 retval = besseli (alpha, x); \
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
51 break; \
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
52 \
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
53 case 'k': \
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
54 retval = besselk (alpha, x); \
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
55 break; \
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
56 \
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
57 default: \
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
58 break; \
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 } \
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
61 while (0)
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
62
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
63 static void
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
64 gripe_bessel_arg_1 (const char *fn)
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
65 {
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
66 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
67 }
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
68
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
69 octave_value_list
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
70 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
71 {
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
72 octave_value retval;
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
73
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
74 int nargin = args.length ();
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
75
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
76 if (nargin == 2)
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
77 {
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
78 octave_value alpha_arg = args(0);
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
79
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
80 if (alpha_arg.is_scalar_type ())
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
81 {
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
82 double alpha = alpha_arg.double_value ();
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
83
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
84 if (! error_state)
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
85 {
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
86 Matrix x = args(1).matrix_value ();
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
87
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
88 if (! error_state)
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
89 DO_BESSEL (type, alpha, x);
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
90 else
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
91 error ("%s: expecting matrix as second argument", fn);
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
92 }
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
93 else
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
94 gripe_bessel_arg_1 (fn);
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
95 }
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
96 else
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
97 {
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
98 Range alpha;
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
99
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
100 if (! alpha_arg.is_range ())
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
101 {
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
102 ColumnVector tmp = alpha_arg.vector_value ();
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
103
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
104 if (! error_state)
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
105 {
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
106 int len = tmp.length ();
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
107
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
108 double base = tmp(0);
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
109
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
110 for (int i = 1; i < len; i++)
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
111 {
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
112 if (tmp(i) != base + i)
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
113 {
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
114 gripe_bessel_arg_1 (fn);
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
115 break;
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
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
119 if (! error_state)
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
120 alpha = Range (tmp(0), tmp(len-1));
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 }
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
123 else
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
124 alpha = alpha_arg.range_value ();
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
125
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
126 if (! error_state)
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
127 {
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
128 ColumnVector x = args(1).vector_value ();
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
129
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
130 if (! error_state)
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
131 DO_BESSEL (type, alpha, x);
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
132 else
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
133 error ("%s: expecting vector as second argument", fn);
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 }
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
137 else
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
138 print_usage (fn);
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
139
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
140 return retval;
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
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
143 DEFUN_DLD (besselj, args, ,
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
144 "besselj (alpha, x)\n\
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
145 \n\
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
146 Compute Bessel functions of the first kind.\n\
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
147 \n\
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
148 X must be a real matrix, vector or scalar.\n\
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
149 \n\
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
150 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
151 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
152 length(X) rows and length(ALPHA) columns.\n\
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
153 \n\
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
154 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
155 must have an increment equal to one.")
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
156 {
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
157 return do_bessel ('j', "besselj", args);
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
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
160 DEFUN_DLD (bessely, args, ,
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
161 "bessely (alpha, x)\n\
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
162 \n\
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
163 Compute Bessel functions of the second kind.\n\
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
164 \n\
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
165 X must be a real matrix, vector or scalar.\n\
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
166 \n\
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
167 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
168 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
169 length(X) rows and length(ALPHA) columns.\n\
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
170 \n\
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
171 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
172 must have an increment equal to one.")
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
173 {
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
174 return do_bessel ('y', "bessely", args);
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
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
177 DEFUN_DLD (besseli, args, ,
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
178 "besseli (alpha, x)\n\
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
179 \n\
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
180 Compute modified Bessel functions of the first kind.\n\
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
181 \n\
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
182 X must be a real matrix, vector or scalar.\n\
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
183 \n\
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
184 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
185 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
186 length(X) rows and length(ALPHA) columns.\n\
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
187 \n\
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
188 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
189 must have an increment equal to one.")
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
190 {
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
191 return do_bessel ('i', "besseli", args);
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
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
194 DEFUN_DLD (besselk, args, ,
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
195 "besselk (alpha, x)\n\
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
196 \n\
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
197 Compute modified Bessel functions of the second kind.\n\
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
198 \n\
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
199 X must be a real matrix, vector or scalar.\n\
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
200 \n\
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
201 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
202 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
203 length(X) rows and length(ALPHA) columns.\n\
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
204 \n\
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
205 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
206 must have an increment equal to one.")
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
207 {
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
208 return do_bessel ('k', "besselk", args);
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 /*
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
212 ;;; Local Variables: ***
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
213 ;;; mode: C++ ***
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
214 ;;; End: ***
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
215 */
1016520a9d38 [project @ 1998-02-18 21:51:50 by jwe]
jwe
parents:
diff changeset
216