MATLAB - Tutorial de octava GNU
GNU Octave es un lenguaje de programación de alto nivel como MATLAB y en su mayoría es compatible con MATLAB. También se utiliza para cálculos numéricos.
Octave tiene las siguientes características comunes con MATLAB −
- las matrices son tipos de datos fundamentales
- tiene soporte integrado para números complejos
- tiene bibliotecas y funciones matemáticas integradas
- admite funciones definidas por el usuario
GNU Octave también es software libremente redistribuible. Puede redistribuirlo y/o modificarlo según los términos de la Licencia pública general de GNU (GPL) publicada por la Free Software Foundation.
MATLAB frente a octava
La mayoría de los programas de MATLAB se ejecutan en Octave, pero es posible que algunos de los programas de Octave no se ejecuten en MATLAB porque Octave permite cierta sintaxis que MATLAB no permite.
Por ejemplo, MATLAB solo admite comillas simples, pero Octave admite comillas simples y dobles para definir cadenas. Si está buscando un tutorial sobre Octave, lea este tutorial desde el principio, que cubre tanto MATLAB como Octave.
Ejemplos compatibles
Casi todos los ejemplos cubiertos en este tutorial son compatibles con MATLAB y con Octave. Intentemos seguir el ejemplo en MATLAB y Octave que produce el mismo resultado sin ningún cambio de sintaxis −
Este ejemplo crea un mapa de superficie 3D para la función g =xe -(x 2 + y 2 ) . Cree un archivo de script y escriba el siguiente código −
[x,y] = meshgrid(-2:.2:2); g = x .* exp(-x.^2 - y.^2); surf(x, y, g) print -deps graph.eps
Cuando ejecuta el archivo, MATLAB muestra el siguiente mapa 3-D −
Ejemplos no compatibles
Aunque toda la funcionalidad principal de MATLAB está disponible en Octave, hay algunas funciones, por ejemplo, cálculo diferencial e integración, que no coinciden exactamente en ambos idiomas. Este tutorial ha tratado de dar ambos tipos de ejemplos donde diferían en su sintaxis.
Considere el siguiente ejemplo donde MATLAB y Octave usan diferentes funciones para obtener el área de una curva:f(x) =x 2 cos(x) para −4 ≤ x ≤ 9. La siguiente es la versión MATLAB del código −
f = x^2*cos(x); ezplot(f, [-4,9]) a = int(f, -4, 9) disp('Area: '), disp(double(a));
Cuando ejecuta el archivo, MATLAB traza el gráfico −
Se muestra el siguiente resultado
a = 8*cos(4) + 18*cos(9) + 14*sin(4) + 79*sin(9) Area: 0.3326
Pero para dar el área de la misma curva en octava, deberá hacer uso de simbólico paquete de la siguiente manera −
pkg load symbolic symbols x = sym("x"); f = inline("x^2*cos(x)"); ezplot(f, [-4,9]) print -deps graph.eps [a, ierror, nfneval] = quad(f, -4, 9); display('Area: '), disp(double(a));
MATLAB