# Octave Programming Tutorial/General mathematical functions

# General Mathematical FunctionsEdit

## ConstantsEdit

`e`

is the base of the natural logarithm.

`e`

without arguments returns the scalar*e*.`e(N)`

returns a square matrix of*e*of size`N`

.`e(N, M, ...)`

where the arguments are dimensions of some matrix of*e*.`e(..., CLASS)`

where`CLASS`

is an optional argument that specifies the return type,`double`

or`single`

.

`eps`

is the machine precision and returns the relative spacing between any floating point number and the next representable number. This value is system dependent.

`eps`

returns the value of`eps(1.0)`

.`eps(X)`

returns the spacing between X and the next value.`eps`

with more than one argument is treated like`e`

with the matrix value being`eps(1.0)`

.

- All of the constant functions listed are defined exactly like
`e`

`pi`

is the ratio of the circumference to the diameter of any circle.`I`

is the imaginary unit defined so`I^2 = -1`

.`Inf`

is used for values that overflow the standard IEEE floating point range or the result of division by zero.`NaN`

is used for various results that are not well defined or undefined. Note that`NaN`

never equals other`NaN`

values. Use the function`isnan`

to check for`NaN`

.`realmax`

is the largest floating point value representable.`realmin`

is the smallest floating point value representable.

## Arithmetic FunctionsEdit

`floor(X)`

and`ceil(X)`

return the highest integer not greater than`X`

or lowest integer not less than`X`

, respectively.`round(X)`

and`fix(X)`

return the integer closest to`X`

or truncate`X`

towards zero, respectively.`rem(X,Y)`

and`mod(X,Y)`

returns x - y * fix( x ./ y ) or x - y * floor( x ./ y ), they are the same except when dealing with negative arguments.`hypot(X, Y)`

returns the length of the hypotenuse of a right-angle triangle with the adjacent and opposite of size`X`

and`Y`

.`abs(X)`

return absolute of x.`sign(X)`

return sign of the x (-1, 0 or +1).

## Ordinary TrigonometryEdit

`cos(X)`

,`sin(x)`

and`tan(X)`

— the elemental functions that we all know and love. They take their arguments in radians.`acos(X)`

,`asin(X)`

are the inverses of`cos`

and`sin`

and are able to compute arguments not contained in the range [-1,1].`atan(X)`

and`atan2(Y, X)`

are the 2 available inverses of tan.`atan`

is a simple inverse whereas`atan2`

takes 2 arguments and returns an angle in the appropriate quadrant. More information on`atan2`

can be found here.- Note that one can add the character
*d*to any of the functions except`atan2`

and they will work in degrees rather than radians. For example:`asind(0.3) = asin(0.3*180/pi)`

`exp(x)`

, exponential funtion of x`log(x)`

, natural logarithmic of x, log_{e}NOT log_{10}

## Hyperbolic TrigonometryEdit

`cosh(X)`

,`sinh(X)`

and`tanh(X)`

are analog to their more prosaic counterparts but deal with the unit hyperbola instead of the unit circle. They also take their arguments in radians.`acosh(X)`

,`asinh(X)`

and`atanh(X)`

are the inverses of`cosh`

,`sinh`

and`tanh`

.- Unlike their circular uncles they cannot be made to take their arguments in degrees.