Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Introducción Tutorial MATLAB
Introducción Tutorial MATLAB
Introducción Tutorial MATLAB
TUTORIAL MATLAB*
La Naturaleza de la Computación Científica
Este curso se centra en el uso del computador para resolver los problemas en la
ingeniería química. Aprenderemos có mo resolver las ecuaciones diferenciales
parciales que describen el transferencia de cantidad de movimiento, la energía, y
masa, integrar las ecuaciones diferenciales ordinarias que modelan un reactor
químico, y simular la diná mica y predecir las estructuras de mínimo-energía de
moléculas. Estos problemas son expresados en funció n de operaciones
matemá ticas como la diferenciació n parcial y la integració n que los computadores
no comprenden. Lo que si saben hacer los computadores es almacenar nú meros en
ubicaciones de su memoria y realizar operaciones sencillas en ellos como adició n,
sustracció n, multiplicació n, divisió n, y la potenciació n. De algú n modo, nosotros
debemos traducir nuestro má s alto-nivel de descripció n matemá tica de estos
problemas en una sucesió n ló gica de estas operaciones bá sicas.
Este có digo, en si mismo, realiza la tarea solicitada pero no provee un medio para
que el usuario puede ver los resultados. Un programa completo en FORTRAN 77
que realice la tarea y escriba el resultado en la pantalla del computador es el
siguiente:
IMPLICIT NONE
REAL x, y, z
x=2
y=4
z = 2*x + 3*y
PRINT *, 'z = ',z
END
En las décadas de los 80 y los 90, los lenguajes C y C++ se volvieron muy populares
dentro de la amplia comunidad de la ciencia de la computació n debido a que ellos
permitían organizar y estructurar datos en forma má s conveniente, y escribir
có digo altamente modular para grandes programas. C y C++ nunca han ganado el
mismo nivel de popularidad dentro de la comunidad de la computació n científica,
debido principalmente a que su implementació n se ha enfocado principalmente
hacia la robustez y en menor grado hacia la velocidad de ejecució n. Muchos
programas científicos tienen comparativamente estructuras simples de tal manera
que la preocupació n principal en la computació n científica intensa es la velocidad
de ejecució n. Esta situació n ha cambiado algo en los ú ltimos tiempos; sin embargo,
la introducció n del FORTRAN 90 y su má s reciente actualizació n llamada
FORTRAN 95 le ha dado al lenguaje FORTRAN un nuevo aire de vida.
Entonces, ¿por qué este curso usa MATLAB in lugar del FORTRAN 90? FORTRAN
90 es mi preferido entre los lenguajes compilados; sin embargo, y desde el punto de
vista de la facilidad de uso, MATLAB, un lenguaje interpretado, es la selecció n para
trabajos pequeñ os y medianos. En los lenguajes compilados, los comandos a nivel
humano son convertidos directamente a instrucciones de má quina, las cuales son
almacenadas en un archivo ejecutable. El tiempo de ejecució n de los comandos no
toma lugar hasta que todo el proceso de compilació n has sido completado (el
tiempo de depuració n no está excluido). En un lenguaje compilado, uno necesita
aprender los comandos de entrada/salida de datos (del teclado, a la pantalla, desde
y hacia archivos), nombrar variables y apartar espacio para ellas en la memoria
(como el comando “real” en FORTRAN). En otras palabras, los lenguajes
compilados son desarrollados bajo el principio de que estos lenguajes deben tener
una cantidad mínima de comandos y sintaxis de tal manera que cualquier tarea
que pueda ser completada por una secuencia de las instrucciones má s bá sicas no
deben incorporarse en la definició n del lenguaje sino mas bien se deja para ser
ejecutadas en una subrutina. Las bibliotecas de subrutinas han sido escritas por la
comunidad de matemá ticas aplicadas para realizar las operaciones numéricas má s
comunes (ej. BLAS y LAPACK) y para acceder a ellas uno necesita unir su có digo
con el de ellas mediante el sistema operacional y comandos específicos. Mientras
que todo esto no es conceptualmente difícil, la carga extra no es insignificante aú n
para proyectos pequeñ os.
DO i_row = 1, M
DO i_col = 1, N
C(i_row,i_col) = 0.0
DO i_mid = 1, P
C(i_row,i_col) = C(i_row,i_col) + A(i_row,i_mid)*B(i_mid,i_col)
ENDDO
ENDDO
ENDDO
Este có digo realiza la tarea en exactamente la misma manera que FORTRAN 77,
pero ahora cada línea debe ser interpretada una a una, adicionando una
sobrecarga considerable. Esto nos permitiría concluir que nosotros estaríamos
mejor programando en FORTRAN 77; sin embargo, en MATLAB, el lenguaje es
extendido para permitir operaciones matriciales de tal manera que podemos
realizar la misma tarea con el simple comando:
C = A*B
C = MATMUL(A,B)
De tal manera que escribir có digo á gil en MATLAB recompensa el mismo estilo de
programació n que permite FORTRAN 90/95 para producir có digo á gil que es fá cil
de implementar en programació n paralela.
Este tutorial se presenta como una pá gina web separada para cada capítulo. La
lista de comandos en el tutorial son explicadas con un comentario que empieza por
el signo de porcentaje %. Estos comandos pueden ser tecleados o pegados uno a
uno desde la ventaja interactiva de MATLAB. Se puede obtener informació n
adicional acerca de un comando específico escribiendo la palabra help seguida del
nombre del comando. Escribiendo helpwin produce una utilidad de ayuda general
y helpdesk provee links para una documentació n extensa en línea. Para mayor
detalles, consulte los textos recomendados para lectura 3,4.
Bibliografia:
1.McConnell, Steve, Code Complete, Microsoft Press, 1993.
2.Jones, Capers, Programming Productivity, McGraw-Hill, 1986.
3.Trapad, Ruda, Getting Started with MATLAB: A Quick Introduction for Scientists and
Engineers, Oxford University Press, 2009.
4.Moore, Holly, Matlab for Engineers, Prentice Hall, 2011.