Introducción a Matlab
description
Transcript of Introducción a Matlab
Guilmer González
Programación con Matlabpara Ingenieros Petroleros
Introducción a MatlabIntroducción a MatlabLectura 1
Guilmer González
Programación con Matlabpara Ingenieros Petroleros
Introducción a MatlabIntroducción a MatlabLectura 1
3Introducció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.
4Introducció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 algrebra lineal (eispak/Linpak) diseñado por Cleve Moler.
Comercializado en 1984 por Mathworks Inc. http://www.mathworks.com
5Introducció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
Simulink
Image ToolBox. Virtual Reality.
6Introducció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 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.
7Introducción a MatlabIntroducción a Matlab
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)
8Introducció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
9Introducción a MatlabIntroducción a Matlab
Cálculos interactivos
Matlab usa doble precision con lo cual, se cuenta con 16 dígitos de significancia
>> format long>> format compactLas variables pueden ser almacenadas en
un archivo
>> save dump>> clear>> load dump
10Introducció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
11Introducció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 + 2Se pueden visualizar los datos rápidamente
>> plot(v)>> plot(v,’*:’)>> bar(v)>> pie(abs(v))
12Introducció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
13Introducció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)]
14Introducció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
15Introducció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)
16Introducción a MatlabIntroducción a Matlab
Algunos gráficosGrá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
17Introducció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
18Introducció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
19Introducción a MatlabIntroducción a Matlab
Siguiente sesión
Programación en MATLAB