Introducción a Matlab
description
Transcript of Introducción a Matlab
![Page 1: Introducción a Matlab](https://reader035.fdocument.pub/reader035/viewer/2022062422/56813f4b550346895daa06fe/html5/thumbnails/1.jpg)
Guilmer González
Análisis Numérico I
Introducción a MatlabIntroducción a MatlabLectura 1
![Page 2: Introducción a Matlab](https://reader035.fdocument.pub/reader035/viewer/2022062422/56813f4b550346895daa06fe/html5/thumbnails/2.jpg)
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.
![Page 3: Introducción a Matlab](https://reader035.fdocument.pub/reader035/viewer/2022062422/56813f4b550346895daa06fe/html5/thumbnails/3.jpg)
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
![Page 4: Introducción a Matlab](https://reader035.fdocument.pub/reader035/viewer/2022062422/56813f4b550346895daa06fe/html5/thumbnails/4.jpg)
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
![Page 5: Introducción a Matlab](https://reader035.fdocument.pub/reader035/viewer/2022062422/56813f4b550346895daa06fe/html5/thumbnails/5.jpg)
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.
![Page 6: Introducción a Matlab](https://reader035.fdocument.pub/reader035/viewer/2022062422/56813f4b550346895daa06fe/html5/thumbnails/6.jpg)
6Introducción a MatlabIntroducción a Matlab
Entorno de programación
Opciones de menús
Línea de comandos
Entorno de trabajo
![Page 7: Introducción a Matlab](https://reader035.fdocument.pub/reader035/viewer/2022062422/56813f4b550346895daa06fe/html5/thumbnails/7.jpg)
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)
![Page 8: Introducción a Matlab](https://reader035.fdocument.pub/reader035/viewer/2022062422/56813f4b550346895daa06fe/html5/thumbnails/8.jpg)
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
![Page 9: Introducción a Matlab](https://reader035.fdocument.pub/reader035/viewer/2022062422/56813f4b550346895daa06fe/html5/thumbnails/9.jpg)
9Introducción a MatlabIntroducción a Matlab
Desarrollo de software
>> pdesolve
>> simulink
![Page 10: Introducción a Matlab](https://reader035.fdocument.pub/reader035/viewer/2022062422/56813f4b550346895daa06fe/html5/thumbnails/10.jpg)
10Introducción a MatlabIntroducción a Matlab
Desarrollo de software
>> unamalla
Control panel
Display window
![Page 11: Introducción a Matlab](https://reader035.fdocument.pub/reader035/viewer/2022062422/56813f4b550346895daa06fe/html5/thumbnails/11.jpg)
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
![Page 12: Introducción a Matlab](https://reader035.fdocument.pub/reader035/viewer/2022062422/56813f4b550346895daa06fe/html5/thumbnails/12.jpg)
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
![Page 13: Introducción a Matlab](https://reader035.fdocument.pub/reader035/viewer/2022062422/56813f4b550346895daa06fe/html5/thumbnails/13.jpg)
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
![Page 14: Introducción a Matlab](https://reader035.fdocument.pub/reader035/viewer/2022062422/56813f4b550346895daa06fe/html5/thumbnails/14.jpg)
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))
![Page 15: Introducción a Matlab](https://reader035.fdocument.pub/reader035/viewer/2022062422/56813f4b550346895daa06fe/html5/thumbnails/15.jpg)
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
![Page 16: Introducción a Matlab](https://reader035.fdocument.pub/reader035/viewer/2022062422/56813f4b550346895daa06fe/html5/thumbnails/16.jpg)
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)]
![Page 17: Introducción a Matlab](https://reader035.fdocument.pub/reader035/viewer/2022062422/56813f4b550346895daa06fe/html5/thumbnails/17.jpg)
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
![Page 18: Introducción a Matlab](https://reader035.fdocument.pub/reader035/viewer/2022062422/56813f4b550346895daa06fe/html5/thumbnails/18.jpg)
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)
![Page 19: Introducción a Matlab](https://reader035.fdocument.pub/reader035/viewer/2022062422/56813f4b550346895daa06fe/html5/thumbnails/19.jpg)
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
![Page 20: Introducción a Matlab](https://reader035.fdocument.pub/reader035/viewer/2022062422/56813f4b550346895daa06fe/html5/thumbnails/20.jpg)
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))
![Page 21: Introducción a Matlab](https://reader035.fdocument.pub/reader035/viewer/2022062422/56813f4b550346895daa06fe/html5/thumbnails/21.jpg)
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))
![Page 22: Introducción a Matlab](https://reader035.fdocument.pub/reader035/viewer/2022062422/56813f4b550346895daa06fe/html5/thumbnails/22.jpg)
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
![Page 23: Introducción a Matlab](https://reader035.fdocument.pub/reader035/viewer/2022062422/56813f4b550346895daa06fe/html5/thumbnails/23.jpg)
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
![Page 24: Introducción a Matlab](https://reader035.fdocument.pub/reader035/viewer/2022062422/56813f4b550346895daa06fe/html5/thumbnails/24.jpg)
24Introducción a MatlabIntroducción a Matlab
Siguiente sesión
Un poco de graficación en 2D