# Matlab Functions

One of the most powerful ways to use MATLAB is through breaking up the code into smaller execution units that does only a specific task.  These are called functions.  They are also refferred to subroutines in other languages.  In VB these correspond to Function and Sub procedures.

In Matlab there are built-in functions and the ones you create.

## Matlab built-in functions

There are three types of built-in functions types available in MATLAB

Elementary built-in functions

Typing     help elfun at the prompt will give you a list of these functions

Elementary math functions.

Trigonometric.
sin         - Sine.
sinh        - Hyperbolic sine.
asin        - Inverse sine.
asinh       - Inverse hyperbolic sine.
cos         - Cosine.
cosh        - Hyperbolic cosine.
acos        - Inverse cosine.
acosh       - Inverse hyperbolic cosine.
tan         - Tangent.
tanh        - Hyperbolic tangent.
atan        - Inverse tangent.
atan2       - Four quadrant inverse tangent.
atanh       - Inverse hyperbolic tangent.
sec         - Secant.
sech        - Hyperbolic secant.
asec        - Inverse secant.
asech       - Inverse hyperbolic secant.
csc         - Cosecant.
csch        - Hyperbolic cosecant.
acsc        - Inverse cosecant.
acsch       - Inverse hyperbolic cosecant.
cot         - Cotangent.
coth        - Hyperbolic cotangent.
acot        - Inverse cotangent.
acoth       - Inverse hyperbolic cotangent.

Exponential.
exp         - Exponential.
log         - Natural logarithm.
log10       - Common (base 10) logarithm.
log2        - Base 2 logarithm and dissect floating point number.
pow2        - Base 2 power and scale floating point number.
sqrt        - Square root.
nextpow2    - Next higher power of 2.

Complex.
abs         - Absolute value.
angle       - Phase angle.
conj        - Complex conjugate.
imag        - Complex imaginary part.
real        - Complex real part.
unwrap      - Unwrap phase angle.
isreal      - True for real array.
cplxpair    - Sort numbers into complex conjugate pairs.

Rounding and remainder.
fix         - Round towards zero.
floor       - Round towards minus infinity.
ceil        - Round towards plus infinity.
round       - Round towards nearest integer.
mod         - Modulus (signed remainder after division).
rem         - Remainder after division.
sign        - Signum.

To use any of them ( for example) if you typed at the command prompt

help sinh

Matlab will respond on its description and usage
Note that X can be a MATRIX

SIN    Sine.
SIN(X) is the sine of the elements of X.

Special Math functions

Typing     help specfun  at the prompt will give you a list of these functions
Specialized math functions.

Specialized math functions.
airy        - Airy functions.
besselj     - Bessel function of the first kind.
bessely     - Bessel function of the second kind.
besselh     - Bessel functions of the third kind (Hankel function).
besseli     - Modified Bessel function of the first kind.
besselk     - Modified Bessel function of the second kind.
beta        - Beta function.
betainc     - Incomplete beta function.
betaln      - Logarithm of beta function.
ellipj      - Jacobi elliptic functions.
ellipke     - Complete elliptic integral.
erf         - Error function.
erfc        - Complementary error function.
erfcx       - Scaled complementary error function.
erfinv      - Inverse error function.
expint      - Exponential integral function.
gamma       - Gamma function.
gammainc    - Incomplete gamma function.
gammaln     - Logarithm of gamma function.
legendre    - Associated Legendre function.
cross       - Vector cross product.

Number theoretic functions.
factor      - Prime factors.
isprime     - True for prime numbers.
primes      - Generate list of prime numbers.
gcd         - Greatest common divisor.
lcm         - Least common multiple.
rat         - Rational approximation.
rats        - Rational output.
perms       - All possible permutations.
nchoosek    - All combinations of N elements taken K at a time.

Coordinate transforms.
cart2sph    - Transform Cartesian to spherical coordinates.
cart2pol    - Transform Cartesian to polar coordinates.
pol2cart    - Transform polar to Cartesian coordinates.
sph2cart    - Transform spherical to Cartesian coordinates.
hsv2rgb     - Convert hue-saturation-value colors to red-green-blue.
rgb2hsv     - Convert red-green-blue colors to hue-saturation-value.

Also try  help elmat

Special functions - toolboxes

Each toolbox has a list of special functions that you can use

## User defined functions

These are the functions you create.

These functions have a required format and are called function M-files

In Matlab M-files imply files (typically ascii ) saved with an extension .m

We will mostly use functions when we develop our program

Its time to look at program control in Matlab