Actualmente estoy inscrito en el Curso Online Introducción a la Programación para Ciencias e Ingeniería (2ª edición) (excelente curso) en el que he aprendido algunas nociones de MATLAB utilizando la herramienta Octave UPM. MATLAB me parece un lenguaje muy poderoso, y del que se le puede sacar mucho provecho en relación a las matemáticas, algo que con otros lenguajes aún no lo he logrado.
Quise hacer esta entrada referente a MATLAB y Octave UPM puesto que posiblemente escribiré sobre algunas ideas que se me han ocurrido utilizando esta herramienta.
Pero, ¿Que es Octave UPM?
"Octave UPM es una versión personalizada de GNU Octave para las clases de Informática en la ETSI de Caminos, Canales y Puertos de la Universidad Politécnica de Madrid.
GNU Octave es un entorno de matemática computacional que intenta mantener un alto nivel de compatibilidad con MATLAB. En el caso de Octave UPM, la configuración por defecto elegida para el programa mejora ligeramente la compatibilidad con MATLAB, comparado con usar Octave directamente.
Aunque está versión personalizada está pensada para las clases en nuestra Escuela, es probablemente útil para muchas otras personas. Si estás buscando una alternativa libre y gratuita a MATLAB, que esté en español o inglés, y que funcione en Windows o GNU/Linux, con una instalación limpia y sencilla, es probable que Octave UPM sea lo que estás buscando.
GNU Octave y Octave UPM se distribuyen como software libre bajo la Licencia Pública General de GNU, versión 3. Esto significa que lo puedes instalar en tu ordenador sin restricciones, y que puedes modificarlo y redistribuirlo siempre que mantengas la licencia original y cumplas con sus términos y condiciones."
Para descargar Octave UPM y ver el manual de instalación debemos entrar en este enlace: http://mat.caminos.upm.es/octave/
Una vez descargado, iniciamos Octave UPM y esta será nuestra ventana de inicio:
Vamos a hacer rápidamente nuestro primer programa en MATLAB. Este programa mostrará un mensaje de bienvenida, nos pedirá nuestro nombre y el año de nacimiento. Sabiendo que el año actual es 2014 nos dirá nuestro nombre y cual es nuestra edad aproximada.
Inicialmente hacemos click en el icono con forma de hoja ubicado en la esquina superior izquierda para crear un archivo nuevo.
En este archivo nuevo será donde escribiremos el código de nuestro programa. Para este programa haremos uso de las funciones disp para mostrar el mensaje de bienvenida, input para pedir al usuario que ingrese su fecha de nacimiento y asignarla a una variable, fprintf para imprimir en pantalla nuestro nombre y nuestra edad aproximada.
Un ejemplo de cada función sería:
- disp("Este es un mensaje"); ------------------- Nos mostrará un mensaje en pantalla.
- x = input("Ingrese el valor de x"); ------------- El valor ingresado por el usuario se asignará a la variable x.
- fprintf("Mensaje mas variables %d %f %s" , x, y, z) -------- Mostrará un mensaje en pantalla junto al valor de las variables x,y,z. %d se refiere a un valor de tipo entero, %f de tipo real y %s a un string o cadena de texto.
Nuestro programa:
%Nuestro primer programa
disp("Bienvenido a tu primer programa en MATLAB");
nombre = input("Ingrese su nombre\n","s");
aNacimiento = input("Ingrese su anho de nacimiento\n");
edad = 2014 - aNacimiento;
fprintf("Su nombre es %s y su edad aproximada %d anhos",nombre,edad);
Explicación:
- En la primera linea agregamos un comentario a nuestro programa con el símbolo %, todo lo que este a la derecha del % en la misma línea será tomado como un comentario.
- Damos un mensaje de bienvenida con la función disp.
- Pedimos al usuario que ingrese su nombre con la función input, algo que debemos tener en cuenta es que cuando el tipo de dato ingresado es string(cadenas de texto) hay que indicarlo en la función input agregando como segundo parámetro "s". Al ingresar nuestro nombre, este será asignado a dicha variable con el operador de asignación =. La secuencia de escape \n solo indicará que se realice un salto de línea luego de mostrar el mensaje.
- Para la variable aNacimiento se realiza una instrucción similar a la anterior.
- Hacemos la operación aritmética requerida para la solución del problema. Sí naciste en 1993 y actualmente estamos en el 2014 entonces, 2014 - 1993 = 21. Puede que tengas aún 20 años (sí tu cumple años es en los últimos meses del año) pero, a través de esta diferencia podemos determinar nuestra edad aproximada para el año en curso.
- Finalmente imprimimos el nombre del usuario y su edad. %s imprimirá el valor de tipo string almacenado en la variable nombre, de igual manera sucederá con la variable de tipo entero edad. Es importante resaltar que con el comando disp podemos mostrar mensajes, pero con fprintf podremos no solo mostrar mensajes, sino que también mensajes junto a valores de las variables.
Sí todo marcha bien este debería ser nuestro resultado.