Diferencia entre revisiones de «Biblioteca de funciones de Octave UPM»
(→Tipos de datos) |
(→Tipos de datos) |
||
| Línea 203: | Línea 203: | ||
| [http://www.mathworks.es/es/help/matlab/ref/ischar.html ischar] | | [http://www.mathworks.es/es/help/matlab/ref/ischar.html ischar] | ||
| Comprueba si es un carácter de texto | | Comprueba si es un carácter de texto | ||
| + | |- | ||
| + | | [http://www.mathworks.es/es/help/matlab/ref/isnumeric.html isnumeric] | ||
| + | | Comprueba si es un valor numérico | ||
|- | |- | ||
| [http://www.mathworks.es/es/help/matlab/ref/isinteger.html isinteger] | | [http://www.mathworks.es/es/help/matlab/ref/isinteger.html isinteger] | ||
Revisión del 17:17 6 sep 2013
| |
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.
Contenido
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_funcion2 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 |
| Interpolación polinómica | |
|---|---|
| Función | Descripción |
| interp1 | Polinomio interpolador con una sola variable (2D) |
| interp2 | Polinomio interpolador con dos variables (3D) |
2.4 Tipos de datos
| Comprobación de tipos | |
|---|---|
| Función | Descripción |
| ischar | Comprueba si es un carácter de texto |
| isnumeric | Comprueba si es un valor numérico |
| isinteger | Comprueba si es entero |
| islogical | Comprueba si es un valor lógico (verdadero o falso) |
| isfloat | Comprueba si es un número en coma flotante |
| class | Devuelve el tipo de dato |
2.5 Funciones lógicas
| Funciones básicas | |
|---|---|
| Función | Descripción |
2.6 Cadenas de texto
| Funciones básicas | |
|---|---|
| Función | Descripción |