1 Qu es un fichero M?
Aunque MATLAB se utiliza como un sofisticado calculador, su verdadera potencia radica en su capacidad para leer y ejecutar ficheros escritos por el usuario. Estos ficheros se llaman ficheros M y tienen una extensin .m. Es una buena prctica escribir comandos directamente en un fichero M y guardarlos en un subdirectorio apropiado. Si se comete un error, es mucho ms fcil editar el fichero para encontrarlo que buscar el error entre varios comandos y, adems, un fichero M puede guardarse y recuperarse en otro momento. Hay fundamentalmente dos tipos diferentes de ficheros M: los ficheros script y los ficheros function. Un fichero script contiene una sucesin de comandos MATLAB que se ejecutan cuando el nombre del fichero se introduce en la ventana de comandos del sistema. Un fichero function requiere una entrada que procesa y devuelve el resultado como salida. MATLAB contiene un gran nmero de ficheros function en su interior. Esos ficheros van desde las funciones elementales (por ejemplo, exp y sin) hasta un gran nmero de funciones especiales. Todos los ficheros function estn caracterizados por su capacidad para coger una entrada de la lnea de comandos y devolver una salida en la ventana de comandos sin que haya necesidad de editar el fichero. Un ejemplo sencillo de un fichero function es la funcin exponencial exp(x) es decir, ex. Se introduce y=exp(1) y se obtiene y=2.7183 Si se introduce y=exp(0) la salida es y=1
Como ejemplo sencillo, podemos abrir un fichero M en MATLAB y guardarlo con un nombre diferente, como por ejemplo "MAT1.m", en la carpeta que se haya creado anteriormente. Esta es una prctica excelente para estar seguro de que no se est duplicando un nombre de fichero ya existente. Una forma fcil de chequear esta posibilidad es introducir el comando help MAT1 en la ventana de comandos. El sistema devuelve MAT1.m not found. Si por el contrario tecleamos help sin el sistema devuelve SIN Sine. SIN(X) is the sine of the elements of X. Overloaded methods help sym/sin.m
Presionando OK conseguimos que el sistema reconozca nuestra carpeta. Si ahora se introduce MAT1 La salida es y=5 que es lo que esperbamos. Si, por el contrario aparece el mensaje ??? Undefined function or variable 'MAT1'. quiere decir que no hemos seleccionado OK en la ventana anterior. Si necesitamos realizar un cambio en la entrada, se abre y edita el fichero. Por ejemplo, si queremos cambiar el fichero MAT1 para calcular 3+3, el contenido del fichero debe cambiarse por y=3+3 y guardar el fichero a continuacin. Introduciendo ahora MAT1 en la lnea de comando obtenemos la respuesta esperada
y=6 Es una buena costumbre introducir comentarios en los ficheros que expliquen lo que el fichero hace. Estos comentarios se suelen introducir al comienzo del fichero. Basta para ello con editar el fichero, colocarse en la zona superior izquierda y pulsar [ para que la primera lnea del cdigo se desplace a la siguiente lnea. Cada lnea de comentario comienza necesariamente con "%". Eso le dice al sistema que ignore el contenido de la lnea y vaya a la primera lnea que no comience por ese smbolo. Por ejemplo, podemos insertar en la primera lnea de nuestro fichero el comentario: %MAT1 Calcula la suma de dos nmeros Obsrvese que, de manera automtica, el sistema cambia el color de escritura y escribe en verde los comentarios. Eso facilita la depuracin del programa si es necesario. Si ejecutamos el fichero, obtenemos la misma respuesta que en el caso anterior. Si , por el contrario, hemos olvidado comenzar la lnea con % el sistema nos devuelve: ??? Error: File: add.m Line: 2 Column: 18 Unexpected MATLAB expression y no se lleva a cabo el clculo.