Diferencia entre revisiones de «Biblioteca de funciones de Octave UPM»

De MateWiki
Saltar a: navegación, buscar
(Cómo usar una función)
 
(No se muestran 26 ediciones intermedias del mismo usuario)
Línea 1: Línea 1:
{{ Beta }}
 
 
[[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.  
 
[[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.
 
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.
  
== Cómo usar una función ==
+
== Clasificación de la biblioteca de funciones ==
  
Las [[Prog20:_Funciones|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.  
+
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<ref>[http://www.gnu.org/software/octave/doc/interpreter/ Octave manual]</ref> y el Documentation Center de MATLAB<ref>[http://www.mathworks.es/es/help/matlab/ MATLAB Documentation Center]</ref> incluyen los detalles completos acerca de todas las funciones disponibles en la biblioteca.
  
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''.
+
En las tablas siguientes, los enlaces apuntan al MATLAB Documentation Center.
  
== Clasificación de la biblioteca de funciones ==
 
 
=== Funciones matemáticas ===
 
=== Funciones matemáticas ===
 +
 +
{| class="wikitable"
 +
! style="background-color: #EFF5FB;"  colspan="2" | Funciones básicas
 +
|-
 +
! Función
 +
! Descripción
 +
|-
 +
| [http://www.mathworks.es/es/help/matlab/ref/abs.html abs]
 +
| Valor absoluto
 +
|-
 +
|  [http://www.mathworks.es/es/help/matlab/ref/rem.html rem]
 +
| Resto de la división entera
 +
|-
 +
|  [http://www.mathworks.es/es/help/matlab/ref/sqrt.html sqrt]
 +
| Raíz cuadrada
 +
|-
 +
|  [http://www.mathworks.es/es/help/matlab/ref/log.html log]
 +
| Logaritmo en base ''e''
 +
|-
 +
|  [http://www.mathworks.es/es/help/matlab/ref/log2.html log2]
 +
| Logaritmo en base 2
 +
|-
 +
|  [http://www.mathworks.es/es/help/matlab/ref/log10.html log10]
 +
| Logaritmo en base 10
 +
|-
 +
|  [http://www.mathworks.es/es/help/matlab/ref/exp.html exp]
 +
| Función <math>e^x</math>
 +
|-
 +
|  [http://www.mathworks.es/es/help/matlab/ref/sign.html sign]
 +
| Signo (+1, 0, -1) de un número
 +
|}
 +
 +
{| class="wikitable"
 +
! style="background-color: #EFF5FB;"  colspan="2" | Funciones estadísticas
 +
|-
 +
! Función
 +
! Descripción
 +
|-
 +
|  [http://www.mathworks.es/es/help/matlab/ref/mean.html mean]
 +
| Media de una muestra
 +
|-
 +
| [http://www.mathworks.es/es/help/matlab/ref/sd.html sd]
 +
| Cuasi-desviación típica de una muestra
 +
|-
 +
| [http://www.mathworks.es/es/help/matlab/ref/var.html var]
 +
| Cuasi-varianza de una muestra
 +
|}
 +
 +
{| class="wikitable"
 +
! style="background-color: #EFF5FB;"  colspan="2" | Funciones trigonométricas
 +
|-
 +
! Función
 +
! Descripción
 +
|-
 +
| [http://www.mathworks.es/es/help/matlab/ref/sin.html sin], [http://www.mathworks.es/es/help/matlab/ref/sinh.html sinh]
 +
| Seno, seno hiperbólico
 +
|-
 +
|  [http://www.mathworks.es/es/help/matlab/ref/cos.html cos],  [http://www.mathworks.es/es/help/matlab/ref/cosh.html cosh]
 +
| Coseno, coseno hiperbólico
 +
|-
 +
| [http://www.mathworks.es/es/help/matlab/ref/tan.html tan], [http://www.mathworks.es/es/help/matlab/ref/tanh.html tanh]
 +
| Tangente, tangente hiperbólica
 +
|-
 +
|  [http://www.mathworks.es/es/help/matlab/ref/cot.html cot],  [http://www.mathworks.es/es/help/matlab/ref/coth.html coth]
 +
| Co-tangente, co-tangente hiperbólica
 +
|-
 +
| [http://www.mathworks.es/es/help/matlab/ref/csc.html csc],  [http://www.mathworks.es/es/help/matlab/ref/csch.html csch]
 +
| Co-secante, co-secante hiperbólica
 +
|-
 +
| [http://www.mathworks.es/es/help/matlab/ref/sec.html sec], [http://www.mathworks.es/es/help/matlab/ref/sech.html sech]
 +
| Secante, secante hiperbólica
 +
|}
 +
 +
{| class="wikitable"
 +
! style="background-color: #EFF5FB;"  colspan="2" | Funciones de redondeo
 +
|-
 +
! Función
 +
! Descripción
 +
|-
 +
| [http://www.mathworks.es/es/help/matlab/ref/fix.html fix]
 +
| Elimina la parte decimal
 +
|-
 +
| [http://www.mathworks.es/es/help/matlab/ref/floor.html floor]
 +
| Redondea hacia abajo
 +
|-
 +
| [http://www.mathworks.es/es/help/matlab/ref/ceil.html ceil]
 +
| Redondea hacia arriba
 +
|-
 +
| [http://www.mathworks.es/es/help/matlab/ref/round.html round]
 +
| Redondea al entero más cercano
 +
|}
  
 
=== Álgebra lineal ===
 
=== Álgebra lineal ===
 +
 +
{| class="wikitable"
 +
! style="background-color: #EFF5FB;"  colspan="2" | Matrices y sistemas lineales
 +
|-
 +
! Función
 +
! Descripción
 +
|-
 +
| [http://www.mathworks.es/es/help/matlab/ref/lu.html lu]
 +
| Descomposición LU
 +
|-
 +
| [http://www.mathworks.es/es/help/matlab/ref/chol.html chol]
 +
| Descomposición de Cholesky
 +
|-
 +
| [http://www.mathworks.es/es/help/matlab/ref/qr.html qr]
 +
| Descomposición QR
 +
|-
 +
| [http://www.mathworks.es/es/help/matlab/ref/eig.html eig]
 +
| Autovalores y autovectores de una matriz
 +
|}
  
 
=== Ecuaciones y polinomios ===
 
=== Ecuaciones y polinomios ===
 +
 +
{| class="wikitable"
 +
! style="background-color: #EFF5FB;"  colspan="2" | Ecuaciones y polinomios
 +
|-
 +
! Función
 +
! Descripción
 +
|-
 +
| [http://www.mathworks.es/es/help/matlab/ref/fzero.html fzero]
 +
| Encuentra ceros de funciones
 +
|-
 +
| [http://www.mathworks.es/es/help/matlab/ref/polyval.html polyval]
 +
| Valor de un polinomio para un valor de ''x'' dado
 +
|-
 +
| [http://www.mathworks.es/es/help/matlab/ref/roots.html roots]
 +
| Raíces de un polinomio
 +
|-
 +
| [http://www.mathworks.es/es/help/matlab/ref/poly.html poly]
 +
| Coeficientes de un polinomio a partir de sus raíces
 +
 +
|-
 +
| [http://www.mathworks.es/es/help/matlab/ref/polyder.html polyder]
 +
| Coeficientes del polinomio resultado de derivar
 +
|-
 +
| [http://www.mathworks.es/es/help/matlab/ref/polyint.html polyint]
 +
 +
| Coeficientes del polinomio resultado de integrar
 +
|-
 +
| [http://www.mathworks.es/es/help/matlab/ref/conv.html conv]
 +
| Convolución de dos polinomios (resultado de multiplicar dos polinomios)
 +
|-
 +
| [http://www.mathworks.es/es/help/matlab/ref/deconv.html deconv]
 +
 +
| De-convolución de dos polinomios (coeficientes del polinomio cociente)
 +
|-
 +
| [http://www.mathworks.es/es/help/matlab/ref/polyfit.html polyfit]
 +
| Ajusta un polinomio de grado ''n'' a un conjunto de datos, usando regresión por mínimos cuadrados
 +
|}
 +
 +
{| class="wikitable"
 +
! style="background-color: #EFF5FB;"  colspan="2" | Interpolación polinómica
 +
|-
 +
! Función
 +
! Descripción
 +
|-
 +
| [http://www.mathworks.es/es/help/matlab/ref/interp1.html interp1]
 +
| Polinomio interpolador con una sola variable (2D)
 +
|-
 +
| [http://www.mathworks.es/es/help/matlab/ref/interp2.html interp2]
 +
| Polinomio interpolador con dos variables (3D)
 +
|}
  
 
=== Tipos de datos ===
 
=== Tipos de datos ===
 +
 +
{| class="wikitable"
 +
! style="background-color: #EFF5FB;"  colspan="2" | Comprobación de tipos
 +
|-
 +
! Función
 +
! Descripción
 +
|-
 +
| [http://www.mathworks.es/es/help/matlab/ref/ischar.html ischar]
 +
| 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]
 +
| Comprueba si es entero
 +
|-
 +
| [http://www.mathworks.es/es/help/matlab/ref/islogical.html islogical]
 +
| Comprueba si es un valor lógico (verdadero o falso)
 +
|-
 +
| [http://www.mathworks.es/es/help/matlab/ref/isfloat.html isfloat]
 +
| Comprueba si es un número en coma flotante
 +
|-
 +
| [http://www.mathworks.es/es/help/matlab/ref/class.html class]
 +
| Devuelve el tipo de dato
 +
|}
  
 
=== Funciones lógicas ===
 
=== Funciones lógicas ===
 +
 +
{| class="wikitable"
 +
! style="background-color: #EFF5FB;"  colspan="2" | Búsqueda de condiciones lógicas
 +
|-
 +
! Función
 +
! Descripción
 +
|-
 +
| [http://www.mathworks.es/es/help/matlab/ref/any.html any]
 +
| Comprueba si se cumple la condición en al menos uno de los elementos
 +
|-
 +
| [http://www.mathworks.es/es/help/matlab/ref/all.html all]
 +
| Comprueba si se cumple la condición en todos los elementos
 +
|-
 +
| [http://www.mathworks.es/es/help/matlab/ref/find.html find]
 +
| Devuelve las posiciones de los elementos que cumplen la condición
 +
|}
  
 
=== Cadenas de texto ===
 
=== Cadenas de texto ===
 +
{| class="wikitable"
 +
! style="background-color: #EFF5FB;"  colspan="2" | Funciones básicas
 +
|-
 +
! Función
 +
! Descripción
 +
|-
 +
| [http://www.mathworks.es/es/help/matlab/ref/num2str.html num2str]
 +
| Transforma un número en texto
 +
|-
 +
| [http://www.mathworks.es/es/help/matlab/ref/int2str.html int2str]
 +
| Transforma un entero en texto
 +
|-
 +
| [http://www.mathworks.es/es/help/matlab/ref/str2num.html str2num]
 +
| Transforma un texto en un número
 +
|-
 +
| [http://www.mathworks.es/es/help/matlab/ref/str2mat.html str2mat]
 +
| Transforma varias cadenas de texto en una matriz
 +
|-
 +
| [http://www.mathworks.es/es/help/matlab/ref/lower.html lower]
 +
| Convierte un texto a minúsculas
 +
|-
 +
| [http://www.mathworks.es/es/help/matlab/ref/upper.html upper]
 +
| Convierte un texto a mayúsculas
 +
|-
 +
| [http://www.mathworks.es/es/help/matlab/ref/strcat.html strcat]
 +
| Concatena varias cadenas de texto
 +
|-
 +
| [http://www.mathworks.es/es/help/matlab/ref/strcmp.html strcmp]
 +
| Compara dos cadenas de texto, y devuelve verdadero si son iguales
 +
|-
 +
| [http://www.mathworks.es/es/help/matlab/ref/strncmp.html strncmp]
 +
| Compara solo los primeros ''n'' caracteres
 +
|-
 +
| [http://www.mathworks.es/es/help/matlab/ref/strrep.html strrep]
 +
| Sustituye un fragmento de texto dentro de otro texto
 +
|-
 +
| [http://www.mathworks.es/es/help/matlab/ref/findstr.html findstr]
 +
| Comprueba la posición de un fragmento dentro de un texto
 +
|}
  
 
== Fuentes de referencia ==
 
== Fuentes de referencia ==
 +
 +
Se pueden encontrar más detalles, ejemplos de uso y ejercicios para práctica en el capítulo 4 del libro ''MATLAB y Matemática Computacional''<ref>Sagrario Lantarón, Bernardo Llanas. [http://www.belliscovirtual.com/esp/productos_ficha.php?id=1986 ''MATLAB y Matemática Computacional'']. Ed. Bellisco, 2011. 2ª edición</ref>. La selección de funciones mostrada en este artículo se ha extraído de ese capítulo.
 +
 +
== Artículos relacionados ==
 +
 +
* [[Prog20: Funciones]] (vídeo explicando cómo crear nuestras propias funciones)
 +
 +
{{ Referencias }}
  
 
[[Categoría:Informática]]
 
[[Categoría:Informática]]

Revisión actual del 17:30 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.

1 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.

1.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

1.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

1.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)

1.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

1.5 Funciones lógicas

Búsqueda de condiciones lógicas
Función Descripción
any Comprueba si se cumple la condición en al menos uno de los elementos
all Comprueba si se cumple la condición en todos los elementos
find Devuelve las posiciones de los elementos que cumplen la condición

1.6 Cadenas de texto

Funciones básicas
Función Descripción
num2str Transforma un número en texto
int2str Transforma un entero en texto
str2num Transforma un texto en un número
str2mat Transforma varias cadenas de texto en una matriz
lower Convierte un texto a minúsculas
upper Convierte un texto a mayúsculas
strcat Concatena varias cadenas de texto
strcmp Compara dos cadenas de texto, y devuelve verdadero si son iguales
strncmp Compara solo los primeros n caracteres
strrep Sustituye un fragmento de texto dentro de otro texto
findstr Comprueba la posición de un fragmento dentro de un texto

2 Fuentes de referencia

Se pueden encontrar más detalles, ejemplos de uso y ejercicios para práctica en el capítulo 4 del libro MATLAB y Matemática Computacional[3]. La selección de funciones mostrada en este artículo se ha extraído de ese capítulo.

3 Artículos relacionados

4 Referencias

  1. Octave manual
  2. MATLAB Documentation Center
  3. Sagrario Lantarón, Bernardo Llanas. MATLAB y Matemática Computacional. Ed. Bellisco, 2011. 2ª edición