Guilmer González
Análisis Numérico I
Introducción a MatlabIntroducción a MatlabLectura 1
2Introducción a MatlabIntroducción a Matlab
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.
3Introducción a MatlabIntroducción a Matlab
Acerca de MatLab
MATLAB = MATrix LABoratory
Se desarrolló en lenguaje Fortran 77 como interface para el uso de rutinas del algebra lineal (eispak/Linpak) diseñado por Cleve Moler.
Comercializado en 1984 por Mathworks Inc. http://www.mathworks.com
4Introducción a MatlabIntroducción a Matlab
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.
m-filesC-kernel
Optimization Image ToolBox.
Virtual Reality
Simulink
5Introducción a MatlabIntroducción a Matlab
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 y Unix (Sun/HP/VMS/SGI/Alpha/...)
Los archivos m-files son independientes de la plataforma.
La última versión es MATLAB 6.5, Release 13 (2002).
La versión 5.3, Release 11 data de 1999.
6Introducción a MatlabIntroducción a Matlab
Entorno de programación
Opciones de menús
Línea de comandos
Entorno de trabajo
7Introducción a MatlabIntroducción a Matlab
Cálculos interactivos
Matlab es interactivo. No es necesario declarar variables para operar con ellas.
>> 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)
8Introducción a MatlabIntroducción a Matlab
Acerca de MatLab
Un entorno interactivo que permite la experimentación
Trabajo por arreglos de datos
Representación gráfica rápida
Programación sencilla
Resultados inmediatos
Calidad de trabajos finales
Desarrollo de software
9Introducción a MatlabIntroducción a Matlab
Desarrollo de software
>> pdesolve
>> simulink
10Introducción a MatlabIntroducción a Matlab
Desarrollo de software
>> unamalla
Control panel
Display window
11Introducción a MatlabIntroducción a Matlab
Aritmética de punto flotante en MatlabIEEE 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 f1 2 12 13 64
12Introducción a MatlabIntroducción a Matlab
Cálculos interactivos
Matlab usa doble precision con lo cual, se cuenta con 16 dígitos significativos
>> format long>> format compactLas variables pueden ser almacenadas en
un archivo
>> save dump>> clear>> load dump
13Introducción a MatlabIntroducción a Matlab
Cálculos interactivosPodemos saber qué variable contamos en
cada momento
>> who>> whosSe cuenta con una ayuda en línea e
inmediata.
>> help functionUna ayuda más profunda también se tiene
disponible
>> helpdesk Se puede obtener los manuales en PDF
14Introducción a MatlabIntroducción a Matlab
Vectores y MatricesLos vectores (arreglos) son definidos como
>> v = [1 2,4,-5]
Se cuenta con operaciones típicas
>> v + 2
>> v.^2
Se pueden visualizar los datos rápidamente
>> plot(v)
>> plot(v,’*:’)
>> bar(v)
>> pie(abs(v))
15Introducción a MatlabIntroducción a Matlab
Vectores y MatricesLas matrices (arreglos 2D) se definine en la
forma
>> A = [1 2 3;4,-5,6;5 -6,7]Se cuenta con las operaciones típicas entre
matrices.
>> B = A’>> A*B>> A+BMATLAB es case-sensitive A and a son
distintas
16Introducción a MatlabIntroducción a Matlab
Vectores y MatricesAccediendo 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)]
17Introducción a MatlabIntroducción a Matlab
Vectores y Matrices
Las funciones elementales puden ser aplicadas a lo elementos de la matriz
>> sin(A)>> help elmat; help elfunSe cuenta con funciones especiales y
operadores
>> sqrtm(A)>> A.^2>> A^2>> A.*B
18Introducción a MatlabIntroducción a Matlab
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)
19Introducción a MatlabIntroducción a Matlab
Algunos gráficos 2D>> x = linspace(0,2*pi,50);>> plot(x, sin(x))
0 1 2 3 4 5 6 7-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
20Introducción a MatlabIntroducción a Matlab
0 1 2 3 4 5 6 7-1.5
-1
-0.5
0
0.5
1
1.5
>> x = linspace(0,2*pi,50);
>> plot(x, sin(x)+.05*sin(50*x))
21Introducción a MatlabIntroducción a Matlab
0 1 2 3 4 5 6 7-1.5
-1
-0.5
0
0.5
1
1.5
>> x = linspace(0,2*pi,150);
>> plot(x, sin(x)+.05*sin(50*x))
22Introducción a MatlabIntroducción a Matlab
Algunos gráficosGráficos 3D
>> A = zeros(32);>> A(14:16,14:16) = ones(3);>> F=abs(fft2(A));>> mesh(F)>> rotate3d on
23Introducción a MatlabIntroducción a Matlab
Algunos gráficosImá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
24Introducción a MatlabIntroducción a Matlab
Siguiente sesión
Un poco de graficación en 2D