Iniciación al uso de MATLAB...MATLAB y Métodos Numéricos • MATLAB tiene incorporado algunas...

30
Iniciación al uso de MATLAB Enrique Flores Enero, 2008

Transcript of Iniciación al uso de MATLAB...MATLAB y Métodos Numéricos • MATLAB tiene incorporado algunas...

Page 1: Iniciación al uso de MATLAB...MATLAB y Métodos Numéricos • MATLAB tiene incorporado algunas herramientas de análisis numérico, tales como integración numérica aproximada,

Iniciación al uso de MATLAB

Enrique FloresEnero, 2008

Page 2: Iniciación al uso de MATLAB...MATLAB y Métodos Numéricos • MATLAB tiene incorporado algunas herramientas de análisis numérico, tales como integración numérica aproximada,

Alcance

• Arranque del Programa• Zonas de Trabajo• Variables, Operadores y Funciones• Gráficos• Programación en MATLAB• MATLAB y Métodos Numéricos

Page 3: Iniciación al uso de MATLAB...MATLAB y Métodos Numéricos • MATLAB tiene incorporado algunas herramientas de análisis numérico, tales como integración numérica aproximada,

Arranque del Programa

Icono de MATLAB

Hacer doble click sobre el icono de MATLAB

Page 4: Iniciación al uso de MATLAB...MATLAB y Métodos Numéricos • MATLAB tiene incorporado algunas herramientas de análisis numérico, tales como integración numérica aproximada,

Arranque del Programa

Icono de MATLAB

Icono de MATLAB

Hacer doble click sobre el icono de MATLAB

Page 5: Iniciación al uso de MATLAB...MATLAB y Métodos Numéricos • MATLAB tiene incorporado algunas herramientas de análisis numérico, tales como integración numérica aproximada,

Zonas de TrabajoDirectorio Actual Ventana de Comandos

Historial de Comandos

Espacio de trabajo (almacén de variables)

Page 6: Iniciación al uso de MATLAB...MATLAB y Métodos Numéricos • MATLAB tiene incorporado algunas herramientas de análisis numérico, tales como integración numérica aproximada,

Variables, Operadores y Funciones• Variables numéricas: >> a=1

a =1

• Variables vectoriales:>> b = [1 2 3]

b =1 2 3

>> c=[1;2;3]c =

123

Page 7: Iniciación al uso de MATLAB...MATLAB y Métodos Numéricos • MATLAB tiene incorporado algunas herramientas de análisis numérico, tales como integración numérica aproximada,

Variables, Operadores y Funciones• Variables Matriciales>> d=[1 2 3;4 5 6;7 8 9;10 11 12]

d =1 2 34 5 67 8 910 11 12

Cuando las instrucciones se terminan en punto y coma, no se desplega el resultado

>> e=[1 -1 6];>> Cuando no se pone nombre a la variable, el resultado por defecto se

almacena con el nombre ans>> [2 3 4]ans =

2 3 4

Page 8: Iniciación al uso de MATLAB...MATLAB y Métodos Numéricos • MATLAB tiene incorporado algunas herramientas de análisis numérico, tales como integración numérica aproximada,

Variables, Operadores y Funciones

Operadores Aritméticos+ Suma- Resta* Multiplicación/ División^ Potencia

Operadores Relacionales

== igual que

~= no igual que

> mayor que

< menor que

>= mayor o igual que

<= menor o igual que

Operadores Lógicos~ no& y| o

Valores Booleanos

1 verdadero

0 falso

Page 9: Iniciación al uso de MATLAB...MATLAB y Métodos Numéricos • MATLAB tiene incorporado algunas herramientas de análisis numérico, tales como integración numérica aproximada,

Variables, Operadores y Funciones

• Operaciones con variables numéricas:>> a=1;b=2;c=3;d=4;(a+b)*c/d

ans =2.2500

• Operaciones con vectores>> a=[1 2 3];b=[4 5 6]; c=a+b,d=a-b

c =5 7 9

d =-3 -3 -3

Page 10: Iniciación al uso de MATLAB...MATLAB y Métodos Numéricos • MATLAB tiene incorporado algunas herramientas de análisis numérico, tales como integración numérica aproximada,

Variables, Operadores y Funciones

• Operaciones con vectores>> f = a.^2 , g = a.*b

f =1 4 9

g =4 10 18

>> f(2)ans =

4>> f(2:3)

ans =4 9

Page 11: Iniciación al uso de MATLAB...MATLAB y Métodos Numéricos • MATLAB tiene incorporado algunas herramientas de análisis numérico, tales como integración numérica aproximada,

Variables, Operadores y Funciones• Operaciones con Matrices>> A=[1 2 3; 4 5 6]; B=[1 1 0;0 1 0];C=[2 3; 4 5; 6 7];>> A+B,A-B,2*A

ans =2 3 34 6 6

ans =0 1 34 4 6

ans =2 4 68 10 12

Page 12: Iniciación al uso de MATLAB...MATLAB y Métodos Numéricos • MATLAB tiene incorporado algunas herramientas de análisis numérico, tales como integración numérica aproximada,

Variables, Operadores y Funciones• Operaciones con Matrices>> A=[1 2 3; 4 5 6]; B=[1 1 0;0 1 0];C=[2 3; 4 5; 6 7];>> A*C, B‘ , C.^2

ans =28 3464 79

ans =1 01 10 0

ans =4 9

16 2536 49

Page 13: Iniciación al uso de MATLAB...MATLAB y Métodos Numéricos • MATLAB tiene incorporado algunas herramientas de análisis numérico, tales como integración numérica aproximada,

Variables, Operadores y Funciones• Operaciones con Matrices>> d=[1 2 3;4 5 6;7 8 9;10 11 12]d =

1 2 34 5 67 8 9

10 11 12>> d(2,3)ans =

6>> d(2,:)ans =

4 5 6>> d(:,3)ans =

369

12

Page 14: Iniciación al uso de MATLAB...MATLAB y Métodos Numéricos • MATLAB tiene incorporado algunas herramientas de análisis numérico, tales como integración numérica aproximada,

Variables, Operadores y Funciones• Algunas Funciones Incorporadas al

Programa:

>> sqrt(2)ans =

1.4142>> cos([1 2 3;4 5 6])ans =

0.5403 -0.4161 -0.9900-0.6536 0.2837 0.9602

sqrt() raíz cuadrada

sin() seno

log() Logaritmo neperiano

Page 15: Iniciación al uso de MATLAB...MATLAB y Métodos Numéricos • MATLAB tiene incorporado algunas herramientas de análisis numérico, tales como integración numérica aproximada,

Variables, Operadores y Funciones

• Funciones definidas por el usuario:Debe definirse un archivo .m

Archivo .m

Page 16: Iniciación al uso de MATLAB...MATLAB y Métodos Numéricos • MATLAB tiene incorporado algunas herramientas de análisis numérico, tales como integración numérica aproximada,

Variables, Operadores y Funciones• Definido el archivo .m, se escriben las líneas que definen la función y se

guarda el archivo con el nombre dado a la función (en este caso, fun.m)

Page 17: Iniciación al uso de MATLAB...MATLAB y Métodos Numéricos • MATLAB tiene incorporado algunas herramientas de análisis numérico, tales como integración numérica aproximada,

Variables, Operadores y Funciones

• Para poder llamar una función, debe estar en el directorio actual:

Funcion definida por el usuario

Llamado a la funcion

Page 18: Iniciación al uso de MATLAB...MATLAB y Métodos Numéricos • MATLAB tiene incorporado algunas herramientas de análisis numérico, tales como integración numérica aproximada,

Graficas• En dos dimensiones>> x=linspace(-7,7,500); y = sin(x); plot(x,y)

Page 19: Iniciación al uso de MATLAB...MATLAB y Métodos Numéricos • MATLAB tiene incorporado algunas herramientas de análisis numérico, tales como integración numérica aproximada,

Graficas• Varias graficas en simultaneo:>> x=linspace(-7,7,500); y = sin(x);z = cos(x); plot(x,y,'o',x,z,'*')

Page 20: Iniciación al uso de MATLAB...MATLAB y Métodos Numéricos • MATLAB tiene incorporado algunas herramientas de análisis numérico, tales como integración numérica aproximada,

Graficas• En tres dimensiones:>> t=0:.01:2*pi;x=cos(t);y=sin(t);z=t;plot3(x,y,z,'r')

Page 21: Iniciación al uso de MATLAB...MATLAB y Métodos Numéricos • MATLAB tiene incorporado algunas herramientas de análisis numérico, tales como integración numérica aproximada,

Graficas• En tres dimensiones:>> [x,y]=meshgrid(-1:.01:1);>> z=x.^2+y.^2;>> mesh(z)

Page 22: Iniciación al uso de MATLAB...MATLAB y Métodos Numéricos • MATLAB tiene incorporado algunas herramientas de análisis numérico, tales como integración numérica aproximada,

Graficas• En tres dimensiones:>> [x,y]=meshgrid(-1:.01:1);>> z=x.^2+y.^2;>> surf(z)

Page 23: Iniciación al uso de MATLAB...MATLAB y Métodos Numéricos • MATLAB tiene incorporado algunas herramientas de análisis numérico, tales como integración numérica aproximada,

Programación en MATLAB• Estructuras de Controlif … elseif…elseSintaxis: if (expresion1)

acciones1;elseif (expresion2)

acciones2;else

acciones3;End

>> a=1;b=-1;c=0;>> if c>a a=a+2; else b= b*10; disp(b); end

-10

Page 24: Iniciación al uso de MATLAB...MATLAB y Métodos Numéricos • MATLAB tiene incorporado algunas herramientas de análisis numérico, tales como integración numérica aproximada,

Programación en MATLAB• Estructuras de ControlWhile…Sintaxiswhile (expresion)

acciones; end>> n=5;k=0;while(k<=n) x= k/3; disp(x); k = k+1; end

00.33330.666711.33331.6667

Page 25: Iniciación al uso de MATLAB...MATLAB y Métodos Numéricos • MATLAB tiene incorporado algunas herramientas de análisis numérico, tales como integración numérica aproximada,

Programación en MATLAB• Estructuras de ControlFor…Sintaxisfor variable de control = rango de la variable

acciones end>> for k=1:5 x= k/3; disp(x); end

0.3333

0.6667

1

1.3333

1.6667

Page 26: Iniciación al uso de MATLAB...MATLAB y Métodos Numéricos • MATLAB tiene incorporado algunas herramientas de análisis numérico, tales como integración numérica aproximada,

Programación en MATLAB• Un pequeño programa en MATLABfunction s=traprl(f,a,b,M)Integración usando la regla compuesta del Trapecio%Entrada - f es el integrando% - a y b son los limites de integración% - M es el numero de subintervalos%Salida - s es el valor de la integralh=(b-a)/M;s=0;for k=1:(M-1)

x=a+h*k;s=s+feval(f,x);

ends=h*(feval(f,a)+feval(f,b))/2+h*s;

Page 27: Iniciación al uso de MATLAB...MATLAB y Métodos Numéricos • MATLAB tiene incorporado algunas herramientas de análisis numérico, tales como integración numérica aproximada,

Programación en MATLAB• Corrida del Programa>> f=inline('x');a=0;b=1;M=10;s=traprl(f,a,b,M)

s =

0.5000

>> f=inline('x-sin(x)');a=0;b=1;M=10;s=traprl(f,a,b,M)

s =

0.0407

Page 28: Iniciación al uso de MATLAB...MATLAB y Métodos Numéricos • MATLAB tiene incorporado algunas herramientas de análisis numérico, tales como integración numérica aproximada,

MATLAB y Métodos Numéricos• MATLAB tiene incorporado algunas herramientas de análisis

numérico, tales como integración numérica aproximada, solución de problemas de valor inicial en Ecuaciones Diferenciales Ordinarias, solución de problemas con valores de frontera en Ecuaciones Diferenciales Parciales, ajuste de curvas, entre otros.

• Existe bibliografía de análisis numérico donde el mismo se apoya con el uso de MATLAB, por ejemplo:NUMERICAL METHODS Using MATLAB, by John H. Mathews and KurtisD. Fink

Page 29: Iniciación al uso de MATLAB...MATLAB y Métodos Numéricos • MATLAB tiene incorporado algunas herramientas de análisis numérico, tales como integración numérica aproximada,

MATLAB y Métodos Numéricos• Solución del Problema de valor inicial:dy/dt = t + y ; y(0) = 0; 0<=t<=1;Usando ode45 (provista por MATLAB)>>f=inline(‘t+y’,’t’,’y’);>> [t,y]=ode45(f,[0 1],[0 0]);>> plot(t,y)

Page 30: Iniciación al uso de MATLAB...MATLAB y Métodos Numéricos • MATLAB tiene incorporado algunas herramientas de análisis numérico, tales como integración numérica aproximada,

MATLAB y Métodos Numéricos• Solución del Problema de valor inicial:dy/dt = t + y ; y(0) = 0; 0<=t<=1;Usando euler.m (provista Numerical Methods using MATLAB)>> f=inline('t+y','t','y');a=0;b=1;ya=0;M=100;>> E=euler(f,a,b,ya,M);>> plot(E(:,1),E(:,2))