MATLAB - Tutorial de GNU Octave
GNU Octave es un lenguaje de programación de alto nivel como MATLAB y es principalmente 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 incorporado para números complejos
- tiene funciones matemáticas y bibliotecas integradas
- admite funciones definidas por el usuario
GNU Octave también es un software de libre distribución. Puede redistribuirlo y / o modificarlo según los términos de la Licencia Pública General GNU (GPL) publicada por la Free Software Foundation.
MATLAB frente a Octave
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 alguna 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 3D:
Ejemplos no compatibles
Aunque toda la funcionalidad principal de MATLAB está disponible en Octave, hay algunas funcionalidades, por ejemplo, Cálculo diferencial y de integración, que no coincide exactamente en ambos lenguajes. Este tutorial ha intentado dar ambos tipos de ejemplos en los que diferían en su sintaxis.
Considere el siguiente ejemplo donde MATLAB y Octave hacen uso de diferentes funciones para obtener el área de una curva: f (x) = x 2 cos (x) para −4 ≤ x ≤ 9. A continuación se muestra 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 un área de la misma curva en una octava, tendrá que hacer uso de symbolic 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));