ANÁLISIS NUMÉRICO INTRODUCCIÓN A MATLABprograetsime.wdfiles.com/local--files/matlab/PRACTICA...

29
Departamento de Matemática Aplicada y Métodos Informáticos 1 Universidad Politécnica de Madrid E.T.S.I. de Minas ANÁLISIS NUMÉRICO INTRODUCCIÓN A MATLAB Marzo, 2011 Arturo Hidalgo López

Transcript of ANÁLISIS NUMÉRICO INTRODUCCIÓN A MATLABprograetsime.wdfiles.com/local--files/matlab/PRACTICA...

Page 1: ANÁLISIS NUMÉRICO INTRODUCCIÓN A MATLABprograetsime.wdfiles.com/local--files/matlab/PRACTICA 1.pdf · Elegir el directorio de trabajo Departamento de Matemática Aplicada y Métodos

Departamento de Matemática Aplicada y Métodos Informáticos 1

Universidad Politécnica de Madrid E.T.S.I. de Minas

ANÁLISIS NUMÉRICO INTRODUCCIÓN A MATLAB

Marzo, 201 1

Arturo Hidalgo López

Page 2: ANÁLISIS NUMÉRICO INTRODUCCIÓN A MATLABprograetsime.wdfiles.com/local--files/matlab/PRACTICA 1.pdf · Elegir el directorio de trabajo Departamento de Matemática Aplicada y Métodos

Departamento de Matemática Aplicada y Métodos Informáticos 2

Universidad Politécnica de Madrid E.T.S.I. de Minas

ASPECTOS GENERALES

Para acceder al programa se hace clic sobre el icono:

Page 3: ANÁLISIS NUMÉRICO INTRODUCCIÓN A MATLABprograetsime.wdfiles.com/local--files/matlab/PRACTICA 1.pdf · Elegir el directorio de trabajo Departamento de Matemática Aplicada y Métodos

Departamento de Matemática Aplicada y Métodos Informáticos 3

Universidad Politécnica de Madrid E.T.S.I. de Minas

Hacer click aquí para buscar el directorio de trabajo

Page 4: ANÁLISIS NUMÉRICO INTRODUCCIÓN A MATLABprograetsime.wdfiles.com/local--files/matlab/PRACTICA 1.pdf · Elegir el directorio de trabajo Departamento de Matemática Aplicada y Métodos

Departamento de Matemática Aplicada y Métodos Informáticos 4

Universidad Politécnica de Madrid E.T.S.I. de Minas

Elegir el directorio de trabajo

Page 5: ANÁLISIS NUMÉRICO INTRODUCCIÓN A MATLABprograetsime.wdfiles.com/local--files/matlab/PRACTICA 1.pdf · Elegir el directorio de trabajo Departamento de Matemática Aplicada y Métodos

Departamento de Matemática Aplicada y Métodos Informáticos 5

Universidad Politécnica de Madrid E.T.S.I. de Minas

Directorio actual

Command window

Historial de comandos

Page 6: ANÁLISIS NUMÉRICO INTRODUCCIÓN A MATLABprograetsime.wdfiles.com/local--files/matlab/PRACTICA 1.pdf · Elegir el directorio de trabajo Departamento de Matemática Aplicada y Métodos

Departamento de Matemática Aplicada y Métodos Informáticos 6

Universidad Politécnica de Madrid E.T.S.I. de Minas

Asignación de un valor a una variable.

Si la línea termina en ; no escribe nada.

Distingue entre mayúsculas y minúsculas.

Page 7: ANÁLISIS NUMÉRICO INTRODUCCIÓN A MATLABprograetsime.wdfiles.com/local--files/matlab/PRACTICA 1.pdf · Elegir el directorio de trabajo Departamento de Matemática Aplicada y Métodos

Departamento de Matemática Aplicada y Métodos Informáticos 7

Universidad Politécnica de Madrid E.T.S.I. de Minas

Operaciones aritméticas

Ejemplo: Realizar las siguientes operaciones en Command window.

a=5 b=3 a*(b+a)^8 b/a+3*sqrt(3*b)

Page 8: ANÁLISIS NUMÉRICO INTRODUCCIÓN A MATLABprograetsime.wdfiles.com/local--files/matlab/PRACTICA 1.pdf · Elegir el directorio de trabajo Departamento de Matemática Aplicada y Métodos

Departamento de Matemática Aplicada y Métodos Informáticos 8

Universidad Politécnica de Madrid E.T.S.I. de Minas

Matrices

>> A=[1 -1 log10(2); 3 0 5; 8 9 -12] A = 1.0000 -1.0000 0.3010 3.0000 0 5.0000 8.0000 9.0000 -12.0000

Para referirnos a elementos de matrices: A(1,2)

Page 9: ANÁLISIS NUMÉRICO INTRODUCCIÓN A MATLABprograetsime.wdfiles.com/local--files/matlab/PRACTICA 1.pdf · Elegir el directorio de trabajo Departamento de Matemática Aplicada y Métodos

Departamento de Matemática Aplicada y Métodos Informáticos 9

Universidad Politécnica de Madrid E.T.S.I. de Minas

Matrices Generación de algunas matrices particulares:

A=zeros(m,n) Produce una matriz con mxn elementos = 0

A=ones(m,n) Produce una matriz con mxn elementos = 1

A=M*ones(m,n) Produce una matriz con mxn elementos= M

A=rand(m,n) Produce una matriz aleatoria con elementos de valor inferior a la unidad.

A=eye(n) Produce la matriz unidad de dimensión nxn

Page 10: ANÁLISIS NUMÉRICO INTRODUCCIÓN A MATLABprograetsime.wdfiles.com/local--files/matlab/PRACTICA 1.pdf · Elegir el directorio de trabajo Departamento de Matemática Aplicada y Métodos

Departamento de Matemática Aplicada y Métodos Informáticos 1 0

Universidad Politécnica de Madrid E.T.S.I. de Minas

Vectores

Vector fila: x=[1 4 5]

Vector columna: y=[1; 4; 5]

Si tratamos de sumar los vectores x+y aparece un mensaje de error al no coincidir las dimensiones. Para evitar este problema de puede sumar al “x” el traspuesto del “y”: x+y’

Page 11: ANÁLISIS NUMÉRICO INTRODUCCIÓN A MATLABprograetsime.wdfiles.com/local--files/matlab/PRACTICA 1.pdf · Elegir el directorio de trabajo Departamento de Matemática Aplicada y Métodos

Departamento de Matemática Aplicada y Métodos Informáticos 1 1

Universidad Politécnica de Madrid E.T.S.I. de Minas

Operaciones con matrices y vectores

+ Suma - Resta * Multiplicación ‘ Transposición ^ Potenciación \ división-izquierda / división-derecha .* producto elemento a elemento ./ .\ división elemento a elemento .^ elevar a una potencia elemento a elemento

Page 12: ANÁLISIS NUMÉRICO INTRODUCCIÓN A MATLABprograetsime.wdfiles.com/local--files/matlab/PRACTICA 1.pdf · Elegir el directorio de trabajo Departamento de Matemática Aplicada y Métodos

Departamento de Matemática Aplicada y Métodos Informáticos 1 2

Universidad Politécnica de Madrid E.T.S.I. de Minas

Operaciones con matrices y vectores

\ división-izquierda

Se aplica a la resolución de sistemas de ecuaciones

Ax=b x=inv(A)b

x=A\b

EJEMPLO:

Resolver el sistema: 2x+3y=5 x-y=-1

Nota: b debe ser un vector columna.

Page 13: ANÁLISIS NUMÉRICO INTRODUCCIÓN A MATLABprograetsime.wdfiles.com/local--files/matlab/PRACTICA 1.pdf · Elegir el directorio de trabajo Departamento de Matemática Aplicada y Métodos

Departamento de Matemática Aplicada y Métodos Informáticos 1 3

Universidad Politécnica de Madrid E.T.S.I. de Minas

Operaciones con matrices y vectores

/ división-derecha

Se aplica a la resolución de sistemas de ecuaciones

yB=c y=c inv(B)

y=c/B

EJEMPLO:

Resolver el sistema: 2x+3y=5 x-y=-1

Page 14: ANÁLISIS NUMÉRICO INTRODUCCIÓN A MATLABprograetsime.wdfiles.com/local--files/matlab/PRACTICA 1.pdf · Elegir el directorio de trabajo Departamento de Matemática Aplicada y Métodos

Departamento de Matemática Aplicada y Métodos Informáticos 1 4

Universidad Politécnica de Madrid E.T.S.I. de Minas

Operaciones con matrices y vectores

Para aplicar elemento a elemento los operadores matriciales *,^,\ y / se preceden de .

[1 2 3 4].^2

[3 -2 1; 4 3 5].* [1 2 -5; 0 4 4]

Page 15: ANÁLISIS NUMÉRICO INTRODUCCIÓN A MATLABprograetsime.wdfiles.com/local--files/matlab/PRACTICA 1.pdf · Elegir el directorio de trabajo Departamento de Matemática Aplicada y Métodos

Departamento de Matemática Aplicada y Métodos Informáticos 1 5

Universidad Politécnica de Madrid E.T.S.I. de Minas

El operador “dos puntos” (: )

Sirve para definir vectores, por ejemplo:

z=1:10 Genera un vector que contiene los números naturales: 1, 2, 3, …, 10

y=1:2:10 Idem con salto 2

w=10:-1:1 Idem con salto -1

Page 16: ANÁLISIS NUMÉRICO INTRODUCCIÓN A MATLABprograetsime.wdfiles.com/local--files/matlab/PRACTICA 1.pdf · Elegir el directorio de trabajo Departamento de Matemática Aplicada y Métodos

Departamento de Matemática Aplicada y Métodos Informáticos 1 6

Universidad Politécnica de Madrid E.T.S.I. de Minas

El operador “dos puntos” (: )

También se puede emplear para extraer parte de una matriz o vector:

Como ejemplo: 1) define una matriz aleatoria A(5,5), usando la instrucción: A=rand(5,5), 2) extrae los elementos (3,2), (3,3), (3,4): A(3,2:4) 3) extrae las columnas 3,2,1: A(:,3:-1:1)

Page 17: ANÁLISIS NUMÉRICO INTRODUCCIÓN A MATLABprograetsime.wdfiles.com/local--files/matlab/PRACTICA 1.pdf · Elegir el directorio de trabajo Departamento de Matemática Aplicada y Métodos

Departamento de Matemática Aplicada y Métodos Informáticos 1 7

Universidad Politécnica de Madrid E.T.S.I. de Minas

Operadores de relación y lógicos

< menor que > mayor que <= menor o igual que >= mayor o igual que == igual a ~= distinto a

Operadores de relación:

Operadores lógicos:

& y | or xor(A,B) or exclusivo (vale 0 si A y B son ambos 0 ó 1 . En caso contrario vale 1 )

Page 18: ANÁLISIS NUMÉRICO INTRODUCCIÓN A MATLABprograetsime.wdfiles.com/local--files/matlab/PRACTICA 1.pdf · Elegir el directorio de trabajo Departamento de Matemática Aplicada y Métodos

Departamento de Matemática Aplicada y Métodos Informáticos 1 8

Universidad Politécnica de Madrid E.T.S.I. de Minas

Cálculo simbólico Algunas operaciones simbólicas:

> syms x, f=sin(x)

> diff(f)

> int(f,’x’,0,pi)

> syms t s, g=cos(t+s) =f(x) sen(x)= +g(t,s) cos(t s)

df(x)dxπ

∫ f(x)dx0

∂∂

g(t,s)t

> diff(g,t)

∂∂

( )g(t,s)t

2

2> diff(g,t,2)

f( )5 > subs(f,x,5)

Para que x deje de ser simbólica: > clear x

Page 19: ANÁLISIS NUMÉRICO INTRODUCCIÓN A MATLABprograetsime.wdfiles.com/local--files/matlab/PRACTICA 1.pdf · Elegir el directorio de trabajo Departamento de Matemática Aplicada y Métodos

Departamento de Matemática Aplicada y Métodos Informáticos 1 9

Universidad Politécnica de Madrid E.T.S.I. de Minas

Programación en Matlab (1 )

Condicionales:

if (condición 1) Sentencias 1 elseif (condición 2) Sentencias 2 elseif (condición 3) Sentencias 3 else Sentencias 4 end

Page 20: ANÁLISIS NUMÉRICO INTRODUCCIÓN A MATLABprograetsime.wdfiles.com/local--files/matlab/PRACTICA 1.pdf · Elegir el directorio de trabajo Departamento de Matemática Aplicada y Métodos

Departamento de Matemática Aplicada y Métodos Informáticos 20

Universidad Politécnica de Madrid E.T.S.I. de Minas

Programación en Matlab (2)

Bucles:

for vc = vi : incr : vf Sentencias end

while Condición Sentencias end

Los “for” y los “if” pueden ir encajados unos dentro de otros (anidados).

for i = 1:m for j = 1:n Sentencias end end

Page 21: ANÁLISIS NUMÉRICO INTRODUCCIÓN A MATLABprograetsime.wdfiles.com/local--files/matlab/PRACTICA 1.pdf · Elegir el directorio de trabajo Departamento de Matemática Aplicada y Métodos

Departamento de Matemática Aplicada y Métodos Informáticos 21

Universidad Politécnica de Madrid E.T.S.I. de Minas

Ejemplo Realiza un bucle que sume los 100 primeros números naturales y almacene en tres matrices A, B y C el último número sumado (1ª columna) y el valor de la suma acumulada (2ª columna), según el criterio siguiente:

Si 0 50suma≤ ≤ :A(k,1)i; A(k,2) suma

Si 51 75suma≤ ≤ :B(l,1)i; B(l,2) suma

(k=1,2,…)

(l=1,2,…)

(m=1,2,…) Si 76 suma≤ :C(m,1)i; C(m,2) suma

Page 22: ANÁLISIS NUMÉRICO INTRODUCCIÓN A MATLABprograetsime.wdfiles.com/local--files/matlab/PRACTICA 1.pdf · Elegir el directorio de trabajo Departamento de Matemática Aplicada y Métodos

Departamento de Matemática Aplicada y Métodos Informáticos 22

Universidad Politécnica de Madrid E.T.S.I. de Minas

Ejercicios

1) Realiza un programa Matlab para sumar dos matrices A y B.

3) Realiza un programa Matlab para multiplicar dos matrices A y B.

4) Realiza un programa Matlab para realizar el producto escalar de dos vectores: u,v.

Page 23: ANÁLISIS NUMÉRICO INTRODUCCIÓN A MATLABprograetsime.wdfiles.com/local--files/matlab/PRACTICA 1.pdf · Elegir el directorio de trabajo Departamento de Matemática Aplicada y Métodos

Departamento de Matemática Aplicada y Métodos Informáticos 23

Universidad Politécnica de Madrid E.T.S.I. de Minas

Programación en Matlab (3)

Llamada a funciones:

function [s1,s2,…,sn]=Nombre(e1,e2,…,en)

Vbles. de salida Vbles. de entrada

Definición de funciones:

[s1,s2,…,sn]=Nombre(e1,e2,…,en)

Page 24: ANÁLISIS NUMÉRICO INTRODUCCIÓN A MATLABprograetsime.wdfiles.com/local--files/matlab/PRACTICA 1.pdf · Elegir el directorio de trabajo Departamento de Matemática Aplicada y Métodos

Departamento de Matemática Aplicada y Métodos Informáticos 24

Universidad Politécnica de Madrid E.T.S.I. de Minas

function[xn,u]= meflin1d(a,b,nelem,aa,ba,ga,ab,bb,gb,K,v,q,f)

(Datos constantes)

(Resultados) (Funciones dadas)

Page 25: ANÁLISIS NUMÉRICO INTRODUCCIÓN A MATLABprograetsime.wdfiles.com/local--files/matlab/PRACTICA 1.pdf · Elegir el directorio de trabajo Departamento de Matemática Aplicada y Métodos

Departamento de Matemática Aplicada y Métodos Informáticos 25

Universidad Politécnica de Madrid E.T.S.I. de Minas

Líneas de comentarios (Comienzan con %)

Sentencia seguida de un comentario

Sentencias

Sentencia de apertura de los ficheros .M

Tipos de línea en los ficheros .M

Page 26: ANÁLISIS NUMÉRICO INTRODUCCIÓN A MATLABprograetsime.wdfiles.com/local--files/matlab/PRACTICA 1.pdf · Elegir el directorio de trabajo Departamento de Matemática Aplicada y Métodos

Departamento de Matemática Aplicada y Métodos Informáticos 26

Universidad Politécnica de Madrid E.T.S.I. de Minas

Primeros pasos sobre gráficos (1 )

Comando “plot”:

Definamos el vector: x=1:10 Definamos los valores: u=x.^2

Page 27: ANÁLISIS NUMÉRICO INTRODUCCIÓN A MATLABprograetsime.wdfiles.com/local--files/matlab/PRACTICA 1.pdf · Elegir el directorio de trabajo Departamento de Matemática Aplicada y Métodos

Departamento de Matemática Aplicada y Métodos Informáticos 27

Universidad Politécnica de Madrid E.T.S.I. de Minas

Page 28: ANÁLISIS NUMÉRICO INTRODUCCIÓN A MATLABprograetsime.wdfiles.com/local--files/matlab/PRACTICA 1.pdf · Elegir el directorio de trabajo Departamento de Matemática Aplicada y Métodos

Departamento de Matemática Aplicada y Métodos Informáticos 28

Universidad Politécnica de Madrid E.T.S.I. de Minas

Primeros pasos sobre gráficos (2)

Comando “ezplot”: ezplot(‘sin(x)’)

-6 -4 -2 0 2 4 6

-1

-0.5

0

0.5

1

x

sin(x)

Page 29: ANÁLISIS NUMÉRICO INTRODUCCIÓN A MATLABprograetsime.wdfiles.com/local--files/matlab/PRACTICA 1.pdf · Elegir el directorio de trabajo Departamento de Matemática Aplicada y Métodos

Departamento de Matemática Aplicada y Métodos Informáticos 29

Universidad Politécnica de Madrid E.T.S.I. de Minas