Biblioteca de funciones de Octave UPM

De MateWiki
Revisión del 17:11 6 sep 2013 de Herraiz (Discusión | contribuciones) (Ecuaciones y polinomios)

Saltar a: navegación, buscar
Warning.png Este artículo está en versión beta. El autor de este artículo no lo ha terminado todavía, por favor no lo edites hasta que elimine este mensaje.

Octave UPM tiene una extensa biblioteca de funciones para realizar procedimientos matemáticos complejos y otras tareas, de modo sencillo, sin necesidad de tener que implementarlos por nosotros mismos. Esta biblioteca de funciones es altamente compatible con MATLAB, aunque algunas funciones de Octave UPM no están presentes en MATLAB, y viceversa.

En ocasiones, en español se usa también el término librería de funciones. En inglés, la denominación es functions library; el término library se traduce al español como biblioteca, aunque es habitual verlo traducido como librería en libros y documentación sobre Informática.

1 Cómo usar una función

Las funciones son una herramienta que ayudan a diseñar mejor los programas, y a hacerlos más estructurados. Una función realiza una tarea concreta con unas entradas (conocidas como argumentos de entrada), y produce unos argumentos de salida. Para reutilizar un trozo de código, la mejor manera es implementarlo en forma de función, ya que de este modo será sencillo compartirlo con otras personas.

Además, para usar una función solo es necesario conocer su interfaz, es decir, cuáles son los argumentos de entrada que necesita, y qué argumentos de salida devuelve. No hay que conocer los detalles acerca de cómo está implementado el algoritmo dentro de la función. Por este motivo se dice que las funciones son cajas negras (vemos las entradas y salidas, pero no lo que hay dentro). Aunque su gran ventaja es precisamente no tener que preocuparnos por los detalles de implementación, muchas de las funciones de la biblioteca de Octave UPM están escritas en lenguaje M, y puede consultarse cómo están hechas usando el comando edit.

La interfaz de una función tiene la siguiente forma:

[s1, s2, ...] = nombre_funcion(e1, e2, ...)

Los argumentos de salida son s1, s2, etc., y los argumentos de entrada e1, e2, etc.

Una función puede tener cualquier número de argumentos de entrada y de salida (incluido también ningún argumento de entrada o salida).

Además, algunos argumentos de entrada pueden ser opcionales. Los argumentos de salida son siempre opcionales. Podemos pedir un argumento de salida, dos, o los que queramos. Si no indicamos nada de manera explícita, las funciones devuelven normalmente un único valor de salida. Si indicamos más de un argumento de salida, es necesario incluirlos entre corchetes, como se muestra en el código anterior.

Para averiguar qué hace la función, cómo hay que llamarla y si tiene argumentos opcionales, podemos usar el comando help, seguido del nombre de la función. Por ejemplo, para consultar la ayuda de la función mostrada anteriormente, escribiríamos en la línea de comandos

help nombre_funcion

2 Clasificación de la biblioteca de funciones

La biblioteca de funciones de Octave UPM es muy extensa. En este artículo incluimos solo las funciones más habituales. El Manual de Octave[1] y el Documentation Center de MATLAB[2] incluyen los detalles completos acerca de todas las funciones disponibles en la biblioteca.

En las tablas siguientes, los enlaces apuntan al MATLAB Documentation Center.

2.1 Funciones matemáticas

Funciones básicas
Función Descripción
abs Valor absoluto
rem Resto de la división entera
sqrt Raíz cuadrada
log Logaritmo en base e
log2 Logaritmo en base 2
log10 Logaritmo en base 10
exp Función [math]e^x[/math]
sign Signo (+1, 0, -1) de un número
Funciones estadísticas
Función Descripción
mean Media de una muestra
sd Cuasi-desviación típica de una muestra
var Cuasi-varianza de una muestra
Funciones trigonométricas
Función Descripción
sin, sinh Seno, seno hiperbólico
cos, cosh Coseno, coseno hiperbólico
tan, tanh Tangente, tangente hiperbólica
cot, coth Co-tangente, co-tangente hiperbólica
csc, csch Co-secante, co-secante hiperbólica
sec, sech Secante, secante hiperbólica
Funciones de redondeo
Función Descripción
fix Elimina la parte decimal
floor Redondea hacia abajo
ceil Redondea hacia arriba
round Redondea al entero más cercano

2.2 Álgebra lineal

Matrices y sistemas lineales
Función Descripción
lu Descomposición LU
chol Descomposición de Cholesky
qr Descomposición QR
eig Autovalores y autovectores de una matriz

2.3 Ecuaciones y polinomios

Ecuaciones y polinomios
Función Descripción
fzero Encuentra ceros de funciones
polyval Valor de un polinomio para un valor de x dado
roots Raíces de un polinomio
poly Coeficientes de un polinomio a partir de sus raíces
polyder Coeficientes del polinomio resultado de derivar
polyint Coeficientes del polinomio resultado de integrar
conv Convolución de dos polinomios (resultado de multiplicar dos polinomios)
deconv De-convolución de dos polinomios (coeficientes del polinomio cociente)
polyfit Ajusta un polinomio de grado n a un conjunto de datos, usando regresión por mínimos cuadrados

2.4 Tipos de datos

Funciones básicas
Función Descripción

2.5 Funciones lógicas

Funciones básicas
Función Descripción

2.6 Cadenas de texto

Funciones básicas
Función Descripción

3 Fuentes de referencia

4 Referencias

  1. Octave manual
  2. MATLAB Documentation Center