Introducción a Matlab Lectura 1
Introducción a Matlab Lectura 1
Pre-requisitos Conocimientos básicos de Cálculo y Algebra Lineal Experiencia en programación (útil, mas no es indispensable) Experiencia en el uso de la computadora y el Internet Buena disposición, curiosidad.
Acerca de MatLab MATLAB = MATrix LABoratory Se desarrolló en lenguaje Fortran 77 como interface para el uso de rutinas del algrebra lineal (eispak/Linpak) diseñado por Cleve Moler. Comercializado en 1984 por Mathworks Inc. http://www.mathworks.com
Sobre su desarrollo actual El núcleo del sistema está escrito en lenguaje C. Cuenta con un número significativo de rutinas conocidas como m-files. La contribución de la comunidad científica ha permitido su crecimiento. Optimization Image ToolBox. Virtual Reality. m-files Simulink C-kernel
Sobre su desarrollo ... MATLAB cuenta con cientos de m-files, códico fuente que puede ser modificado. MATLAB se encuentra disponible para PC (Win9x, W2K, XP, Linux), para Mac and Unix (Sun/HP/VMS/SGI/Alpha/...) Los archivos m-files son independientes de la plataforma. La última versión es MATLAB 7.1, Release 14.SP2 (2005). La versión 5.3, Release 11 data de 1999.
Cálculos interactivos Matlab es interactivo. No es necesario declarar variables para operar. >> 2+3*4/2 >> a=5e-3; b=1; a+b Las más conocidas funciones elementales, así como constantes, se encuentran definidas. >> cos(pi) >> abs(1+i) >> sin(pi)
Aritmética de punto flotante en Matlab IEEE Standard para doble precisión x = ± (1+f )·2e f = d1/2 + … + d52/252, dk = 0,1 -1022 <= e <= 1023 Round-off: eps = 2-52 Underflow: realmin = 2-1022 Overflow: realmax = (2-eps) ·21023 s e f 1 2 12 13 64
Cálculos interactivos Matlab usa doble precision con lo cual, se cuenta con 16 dígitos de significancia >> format long >> format compact Las variables pueden ser almacenadas en un archivo >> save dump >> clear >> load dump
Cálculos interactivos Podemos saber qué variable contamos en cada momento >> who >> whos Se cuenta con una ayuda en línea e inmediata. >> help function Una ayuda más profunda también se tiene disponible >> helpdesk Se puede obtener los manuales en PDF
Vectores y Matrices Los vectores (arreglos) son definidos como Se cuenta con operaciones típicas >> v + 2 Se pueden visualizar los datos rápidamente >> plot(v) >> plot(v,’*:’) >> bar(v) >> pie(abs(v))
Vectores y Matrices Las matrices (arreglos 2D) se definine en la forma Se cuenta con las operaciones típicas entre matrices. >> B = A’ >> A*B >> A+B MATLAB es case-sensitive A and a son distintas
Vectores y Matrices Accediendo a elementos >> A(2,3) Accediendo a columnas completas >> A(1:2,:) La instrucción 1:2 es idéntico a [1 2], 2:3:8 es lo mismo que [2 5 8] Podemos realizar distinta referencia de los elementos >> A([3 2],[2 1]) >> B=[A(3,2) A(3,1);A(2,2) A(2,1)]
Vectores y Matrices Las funciones elementales puden ser aplicadas a lo elementos de la matriz >> sin(A) >> help elmat; help elfun Se cuenta con funciones especiales y operadores >> sqrtm(A) >> A.^2 >> A^2 >> A.*B
Vectores y Matrices Algebra Lineal Numérica >> inv(A) >> B\A >> det(A) >> rank(A) En las funciones puede variar el número de argumentos a la entrada o en la salida. >> [V,D]=eig(A)
Algunos gráficos Gráficos 2D >> x = linspace(0,2*pi,50); >> plot(x, sin(x)) Hay que tener cuidado con lo que se grafica >> plot(x, sin(x)+.05*sin(50*x)) >> zoom on
Algunos gráficos Gráficos 3D >> A = zeros(32); >> A(14:16,14:16) = ones(3); >> F=abs(fft2(A)); >> mesh(F) >> rotate3d on
Algunos gráficos Imágenes en bmp,jpg, etc. pueden ser desplegadas >> load mandrill >> image(X); colormap(map) >> axis image off Se puede acceder y modificar las propiedades del gráfico >> knot >> cameramenu >> material metal
Siguiente sesión Programación en MATLAB