| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Unless otherwise noted, all of the functions described in this chapter will work for real and complex scalar or matrix arguments.
| 19.1 Utility Functions | ||
| 19.2 Complex Arithmetic | ||
| 19.3 Trigonometry | ||
| 19.4 Sums and Products | ||
| 19.5 Special Functions | ||
| 19.6 Coordinate Transformations | ||
| 19.7 Mathematical Constants |
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
The following functions are available for working with complex numbers. Each expects a single argument. They are called mapping functions because when given a matrix argument, they apply the given function to each element of the matrix.
ceil (real (x)) + ceil (imag (x)) * I.
fix (real (x)) + fix (imag (x)) * I.
floor (real (x)) + floor (imag (x)) * I.
...)
...)
If a single argument is given then compute the greatest common divisor of the elements of this argument. Otherwise if more than one argument is given all arguments must be the same size or scalar. In this case the greatest common divisor is calculated for element individually. All elements must be integers. For example,
gcd ([15, 20])
=> 5
|
and
gcd ([15, 9], [20 18])
=> 5 9
|
Optional return arguments v1, etc, contain integer vectors such that,
g = v1 .* a1 + v2 .* a2 + ... |
For backward compatiability with previous versions of this function, when all arguments are scalr, a single return argument v1 containing all of the values of v1, ... is acceptable.
...)
lcm (a1, ..., ak) |
is the same as
lcm ([a1, ..., ak]). |
All elements must be the same size or scalar.
max (max (x)) |
returns the largest element of x, and
max (2:5, pi)
=> 3.1416 3.1416 4.0000 5.0000
|
2:5 with pi, and
returns a row vector of the maximum values.
For complex arguments, the magnitude of the elements are used for comparison.
If called with one input and two output arguments,
max also returns the first index of the
maximum value(s). Thus,
[x, ix] = max ([1, 3, 5, 2, 5])
=> x = 5
ix = 3
|
min (min (x)) |
returns the smallest element of x, and
min (2:5, pi)
=> 2.0000 3.0000 3.1416 3.1416
|
2:5 with pi, and
returns a row vector of the minimum values.
For complex arguments, the magnitude of the elements are used for comparison.
If called with one input and two output arguments,
min also returns the first index of the
minimum value(s). Thus,
[x, ix] = min ([1, 3, 0, 2, 5])
=> x = 0
ix = 3
|
x - y .* floor (x ./ y) |
Note that this handles negative numbers correctly:
mod (-1, 3) is 2, not -1 as rem (-1, 3) returns.
Also, mod (x, 0) returns x.
An error message is printed if the dimensions of the arguments do not agree, or if either of the arguments is complex.
If x is a vector, return nextpow2 (length (x)).
x / y, computed using the
expression
x - y .* fix (x ./ y) |
An error message is printed if the dimensions of the arguments do not agree, or if either of the arguments is complex.
round (real (x)) + round (imag (x)) * I.
-1, x < 0;
sign (x) = 0, x = 0;
1, x > 0.
|
For complex arguments, sign returns x ./ abs (x).
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
The following functions are available for working with complex
numbers. Each expects a single argument. Given a matrix they work on
an element by element basis. In the descriptions of the following
functions,
z is the complex number x + iy, where i is
defined as sqrt (-1).
sqrt (x^2 + y^2).
For example,
abs (3 + 4i)
=> 5
|
atan (y/x).
in radians.
For example,
arg (3 + 4i)
=> 0.92730
|
conj (z) = x - iy.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Octave provides the following trigonometric functions. Angles are
specified in radians. To convert from degrees to radians multipy by
pi/180
(e.g. sin (30 * pi/180) returns the sine of 30 degrees).
Each of these functions expect a single argument. For matrix arguments, they work on an element by element basis. For example,
sin ([1, 2; 3, 4])
=> 0.84147 0.90930
0.14112 -0.75680
|
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
As a special case, if x is a vector and dim is omitted, return the sum of the elements.
As a special case, if x is a vector and dim is omitted, return the product of the elements.
As a special case, if x is a vector and dim is omitted, return the cumulative sum of the elements as a vector with the same orientation as x.
As a special case, if x is a vector and dim is omitted, return the cumulative product of the elements as a vector with the same orientation as x.
As a special case, if x is a vector and dim is omitted, return the sum of squares of the elements.
This function is conceptually equivalent to computing
sum (x .* conj (x), dim) |
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
besselj
bessely
besseli
besselk
besselh
If the argument opt is supplied, the result is scaled by the
exp (-I*x) for k = 1 or exp (I*x) for
k = 2.
If alpha is a scalar, the result is the same size as x.
If x is a scalar, the result is the same size as alpha.
If alpha is a row vector and x is a column vector, the
result is a matrix with length (x) rows and
length (alpha) columns. Otherwise, alpha and
x must conform and the result will be the same size.
The value of alpha must be real. The value of x may be complex.
If requested, ierr contains the following status information and is the same size as the result.
NaN.
Inf.
NaN.
NaN.
K Function Scale factor (if a third argument is supplied) --- -------- ---------------------------------------------- 0 Ai (Z) exp ((2/3) * Z * sqrt (Z)) 1 dAi(Z)/dZ exp ((2/3) * Z * sqrt (Z)) 2 Bi (Z) exp (-abs (real ((2/3) * Z *sqrt (Z)))) 3 dBi(Z)/dZ exp (-abs (real ((2/3) * Z *sqrt (Z)))) |
The function call airy (z) is equivalent to
airy (0, z).
The result is the same size as z.
If requested, ierr contains the following status information and is the same size as the result.
NaN.
Inf.
NaN.
NaN
beta (a, b) = gamma (a) * gamma (b) / gamma (a + b). |
x
/
betai (a, b, x) = beta (a, b)^(-1) | t^(a-1) (1-t)^(b-1) dt.
/
t=0
|
If x has more than one component, both a and b must be scalars. If x is a scalar, a and b must be of compatible dimensions.
/ \ | n | n (n-1) (n-2) ... (n-k+1) | | = ------------------------- | k | k! \ / |
For example,
bincoeff (5, 2) => 10 |
z
/
erf (z) = (2/sqrt (pi)) | e^(-t^2) dt
/
t=0
|
1 - erf (z).
infinity
/
gamma (z) = | t^(z-1) exp (-t) dt.
/
t=0
|
x
1 /
gammainc (x, a) = --------- | exp (-t) t^(a-1) dt
gamma (a) /
t=0
|
If a is scalar, then gammainc (x, a) is returned
for each element of x and vice versa.
If neither x nor a is scalar, the sizes of x and a must agree, and gammainc is applied element-by-element.
cross ([1,1,0], [0,1,1]) => [ 1; -1; 1 ] |
If x and y are matrices, the cross product is applied along the first dimension with 3 elements. The optional argument dim is used to force the cross product to be calculated along the dimension defiend by dim.
If only one argument m is given, is returned.
See Magnus and Neudecker (1988), Matrix differential calculus with applications in statistics and econometrics.
See Magnus and Neudecker (1988), Matrix differential calculus with applications in statistics and econometrics.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
sqrt (-1).
These built-in variables behave like functions so you can use the names
for other purposes. If you use them as variables and assign values to
them and then clear them, they once again assume their special predefined
values See section 9.3 Status of Variables.
Note that NaN always compares not equal to NaN. This behavior is
specified by the IEEE standard for floating point arithmetic. To
find NaN values, you must use the isnan function.
pi is computed as `4.0 * atan (1.0)'.
log (e) = 1.
eps is the largest
relative spacing between any two adjacent numbers in the machine's
floating point system. This number is obviously system-dependent. On
machines that support 64 bit IEEE floating point arithmetic, eps
is approximately
2.2204e-16.
realmax is approximately
1.7977e+308
realmin is approximately
2.2251e-308
| [ << ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |