3 Resolución numérica de las ecuaciones implícitas de los IRK

Documentos relacionados
Métodos Matemáticos I

Métodos Numéricos - Cap. 7. Ecuaciones Diferenciales Ordinarias PVI 1/8

Práctica II: Problemas de valor inicial en EDO s.

Análisis Numérico para Ingeniería. Clase Nro. 3

TRABAJOS PRACTICOS COMPLEMENTARIOS PARA RESOLVER CON MATLAB

TEMA 6 PROBLEMAS DE VALOR INICIAL PROBLEMAS DE CÁLCULO NUMÉRICO (8/9) El código se lista a continuación: function [S,T]resuelve_ed(Tobs,h) T[:h:Tobs];

RESOLUCIÓN DE SISTEMAS NO LINEALES -- Método de Newton-Raphson

Ecuaciones Diferenciales

Ceros de Funciones: Multivariable

Ecuaciones en Derivadas Parciales y Análisis Numérico

Ecuaciones Diferenciales Ordinarias (2)

Instituto Tecnológico de Lázaro Cárdenas Ingeniería Electrónica. Programa en MATLAB

Ecuaciones en Derivadas Parciales y Análisis Numérico

Cálculo numérico. Sistemas de ecuaciones lineales.

Ejercicios de optimización sin restricciones

Práctica IV: Métodos de Newton-Raphson y de la secante, para encontrar las raíces de una función.

Sistemas de ecuaciones no lineales

Sistemas lineales de ecuaciones diferenciales. Juan-Miguel Gracia

Lección 8. Matrices y Sistemas de Ecuaciones Lineales

Métodos iterativos para sistemas de ecuaciones lineales

EJERCICIO COMPUTACIONAL N o 4. MÉTODOS ITERATIVOS

Cálculo Numérico. Curso Ejercicios: Preliminares I

Ecuaciones diferenciales

Método de mínimos cuadrados (Continuación)

Métodos Numéricos en Ecuaciones Diferenciales Ordinarias

1 Métodos de Runge-Kutta explícitos

MÓDULO SE: SISTEMAS DE ECUACIONES

Problemas Ampliación de Matemáticas. Sistemas lineales 1.- Encontrar la factorización L U de las siguientes matrices:

A = a 21 1 a 23 0 a Estudiar si los métodos de Jacobi y Gauss-Seidel para A convergen o divergen simultáneamente. (1.5p).

2. Sistemas de ecuaciones lineales

Preliminares Problemas de Valor Inicial Problemas de Contorno ECUACIONES DIFERENCIALES ORDINARIAS

Ecuaciones diferenciales ordinarias

UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERÍA DEPARTAMENTO DE MATEMÁTICA CLAVE M

Práctica 1 Introducción y fundamentos

Espacios Vectoriales Euclídeos. Métodos de los mínimos cuadrados

Splines (funciones polinomiales por trozos)

INVERSA DE UNA MATRIZ

Mínimos cuadrados. Mayo de Ejemplos de introducción. Observación preliminar

Matemática 2 MAT022. Clase 1 (Complementos) Departamento de Matemática Universidad Técnica Federico Santa María. Matrices

Sistemas de ecuaciones lineales dependientes de un parámetro

Clase. 1. Resolución de sistemas de ecuaciones lineales: preliminares

ESPACIOS VECTORIALES Y APLICACIONES LINEALES

Deducción de las fórmulas del método del gradiente conjugado

Tema 5: Funciones homogéneas

Apellidos: Nombre: NIF:

= (t y), y(0) = 2. Encontrar y(1) utilizando el método de Euler de paso h = 0.2

Ecuaciones en Derivadas Parciales y Análisis Numérico. Prácticas

1. ESPACIOS DE HILBERT Y OPERADORES

Apéndice sobre ecuaciones diferenciales lineales

Resolución de Ecuaciones no lineales. Juan Manuel Rodríguez Prieto

Algebra lineal y conjuntos convexos

Matrices y sistemas lineales

Universidad de Concepción, Chile Departamento de Geofísica Programación Científica con Software libre

Sistemas Lineales y Matrices

Álgebra y Álgebra II - Segundo Cuatrimestre 2017 Práctico 4 - Espacios Vectoriales

Métodos directos para resolver sistemas de ecuaciones lineales

Métodos numéricos para Ecuaciones Diferenciales Ordinarias. Laboratori de Càlcul Numèric (LaCàN) www-lacan.upc.es

COMPLEMENTOS DE MATEMATICA 3 - Segundo cuatrimestre de 2007 Práctica 3 - Transformaciones lineales

METODOS MULTIPASOS METODOS DE ADAMS

Diferenciación numérica: Método de Euler explícito

Para verificar que el sistema converge se deberán cumplir con las siguientes condiciones en las formulas con derivadas parciales: + 1

Integración de ODEs. Miguel Ángel Otaduy. Animación Avanzada 30 de Enero de 2014

Sistema de ecuaciones algebraicas. Eliminación de Gauss.

Producto Escalar. AMD Grado en Ingeniería Informática. AMD Grado en Ingeniería Informática (UM) Producto Escalar 1 / 31

Tema 1. Espacios Vectoriales. Sistemas de ecuaciones.

METODOS DE RUNGE KUTTA

Método de los mínimos cuadrados

Tema 3: Espacios vectoriales

Construcción de bases de subespacios (ejemplos)

EJERCICIO COMPUTACIONAL N o 5. CUADRATURA Y DERIVACIÓN NUMÉRICAS

3.1. Operaciones con matrices. (Suma, resta, producto y traspuesta)

Resolución de Sistema de Ecuaciones Lineales

Tema 8 Ecuaciones diferenciales

SISTEMAS DE ECUACIONES LINEALES MÉTODO DE LA MATRIZ INVERSA

Cambio de base. Objetivos. Estudiar la relación entre las coordenadas de un vector en dos bases.

Tema 1. Espacios Vectoriales. Sistemas de ecuaciones.

PROPUESTA A. 3A. a) Despeja X en la ecuación matricial X A B = 2X donde A, B y X son matrices cuadradas

1 0 4/ 5 13/

E.T.S. Minas: Métodos Matemáticos Ejercicios Tema 4 Métodos iterativos para sistemas de ecuaciones

LICENCIATURA EN FÍSICA

4.6. Interpolación mediante splines (polinomios a trozos) Figura 4.1: Datos de interpolación

I. Métodos directos para resolución de SEL. Se dice que una matriz A admite una factorización LU indirecta A = LU

Fracciones parciales. Repaso general. Octave. Raíces con multiplicidad

02. Resolver sistemas de ecuaciones lineales por el método de Gauss.

ECUACIONES DIFERENCIALES Julián de la Horra Departamento de Matemáticas U.A.M.

Denotamos a los elementos de la matriz A, de orden m x n, por su localización en la matriz de la

Formulación del problema de la ruta más corta en programación lineal

Sistema de Ecuaciones Lineales

Cálculo Numérico - CO3211. Ejercicios. d ) Sabiendo que la inversa de la matriz A = es A c d

2.1 Descripción en espacio de estado de sistemas dinámicos

Solución numérica de sistemas de ecuaciones diferenciales.

Transformaciones Lineales (MAT023)

SIMULACIÓN NUMÉRICA - 11/12 Ejercicios 1. u = (a bv)u, v = (cu d)v, a = d = 1, b = 0,02, c = 0,03.

Teorema de Existencia y Unicidad Ecuaciones Diferenciales Ordinarias.

9 Ecuaciones diferenciales ordinarias. Ecuaciones diferenciales de primer orden en forma normal

Lección 2: Funciones vectoriales: límite y. continuidad. Diferenciabilidad de campos

SISTEMAS DE ECUACIONES LINEALES

1. Funciones diferenciables

Métodos en diferencias para problemas de contorno

Transcripción:

Calculo Numérico II Curso 0-3, Segundo Cuatrimestre Práctica 3: Métodos Runge-Kutta Implícitos Guión de la práctica: En esta práctica implementaremos en MATLAB los métodos Runge-Kutta implícitos para resolver el problema de valor inicial (PVI): u 0 vector de tamaño m Runge-Kutta Implícitos (IRK) u = f(t, u), u(t 0 ) = u 0, Un método Runge-Kutta implícito IRK(A, b) viene dado mediante las fórmulas: U i =u n + h a ij f(t n + c j h, U j ), i =,, s, j= u n+ = u n + h b j f(t n + c j h, U j ), j= donde A es una matriz cuadrada de orden s y b es el vector pesos de tamaño s Los nodos temporales en los pasos parciales satisface la siguiente condición: c i = a ij 3 Resolución numérica de las ecuaciones implícitas de los IRK j= Como ya sabemos, en los métodos IRK cada vez que damos un paso (t n, u n ) h un sistema implícito de dimensión ms para calcular las s etapas del método: (t n+, u n+ ) hay que resolver U = e u n + h(a I)F (U), (SI) donde U = U U s, F (U) = f(t n + c h, U ) f(t n + c s h, U s ) Aquí e = (,,, ) T y denota el producto de Kronecker Este producto se define de la siguiente manera para A matriz M(m,n), B matriz M(s,l), entonces A es una matriz M(ml,sn) tal que: Notas de prácticas de Jezabel Curbelo

a a a n b b b l a a a n b b b l a m a m a mn b s b s b sl a b a b a b l a n b a n b a n b l a b a b a b l a n b a n b a n b l a b s a b s a b sl a n b s a n b s a n b sl = a m b a m b a m b l a mn b a mn b a mn b l a m b a m b a m b l a mn b a mn b a mn b l a m b s a m b s a m b sl a mn b s a mn b s a mn b sl Vamos a ver diferentes métodos numéricos que resuelven el sistema implícito (SI) 3 Iteración funcional (IF) La iteración funcional se calcula como: U k+ = e u n + h(a I)F (U k ), k = 0,, Partiendo de una iteración U 0 que normalmente se suele tomar U 0 = e u n 3 Método de Newton (MN) La idea es aplicar el método de Newton clásico, es decir, buscar un cero de la función f(x) mediante la iteración x n+ = x n f(x n) f (x n ) Así, aplicamos el método de Newton clásico (vectorial) a la ecuación: Para ello, calculamos su derivada con y G(U) := U e u n h(a I)F (U) = 0 G (U) = I h(a I)J(U), J(U) := F U (U) = blkdiag(j,, J s ) = J (U) 0 0 J s (U) J i (U) = f u (t n + c i h, U i ) Notar que blkdiag es el comando en Matlab que nos hace la matriz indicada Ahora, partiendo de un valor inicial U 0, resulta el esquema (MN): [I h(a I)J k k = G(U k ),, U k+ = U k + k, k = 0,,, ()

donde J k = F U (U k ) = blkdiag(j k,, J k s ), J k i = f u (t n + c i h, U k i ), i s 33 Método de Newton modificado o Quasi-Newton (QN) El método anterior es demasiado costoso pues hay que calcular en cada iteración n una evaluación del jacobiano de dimension ms en s puntos distintos y resolver un sistema lineal Por eso se prefieren algunas variaciones que son más baratas computacionalmente El método más usado en la práctica, es el método de Newton modificado o Quasi-Newton Es una modificación del (MN) que reduce su coste sustituyendo en () la matriz jacobiana J k de cada iteración k por la matriz: J k J 0 0 J donde J f u (t n, u n ) Así la matriz jacobiana sólo se evalúa una vez por paso y los sistemas lineales tienen la misma matriz de coeficientes para todas las iteraciones del mismo paso (lo que implica una sola descomposición LU por paso), resulta el esquema QN : arrancando de una aproximación inicial U 0 4 Programa Matlab La función a construir es la siguiente: [I h(a J) k = G(U k ) U k+ = U k + k, k = 0,,, function [u,t,it=rkimplicito(f,df,tf,t0,h,u0,a,b,met,tol,itmax) Esta función resuelve el problema de valor inicial u =f(t,u) u(t0)=u0 utilizandodo un método Runge-Kutta implicito [u,t,it=rkimplicito(f,df,tf,t0,h,u0,a,b,c,met,tol,itmax) Variables de Entrada: f: vector columna función que rige el sistema de EDO, tiene dos argumentos f(t,u) donde t es escalar (ó vector) y u vector columna df: el jacobiano de f con respecto de u h : tamaño del paso t0: tiempo inicial

tf: tiempo final u0: vector columna Dato inicial b,a: coeficientes del tablero de BUTCHER Met: Variable que indica el método utilizado para resolver el sistema implícito Met= IF (iteración funcional), MN (Newton), QN (Newton Modificado) tol: tolerancia para las iteraciones itmax: Número máximo de iteraciones Variables de Salida: u: matriz de length(u0) x length(t) que contiene la solución t: vector de tiempos it: Vector que contiene el numero de iteraciones utilizadas, para cada tiempo, en los métodos de tipo Newton o en la iteración funcional Tableros de Butcher que usaremos: Método de Gauss: Regla Implícita del punto medio (orden ) Radau IIA: Euler Implícito Lobatto IIIA Regla Trapezoidal 0 0 0 / / / / Método de Gauss 0 + 0 36 36 + 4 36 + 30 8 9 9 9 + 4 9 36 30 36 4 36 8 Comentarios: Para realizar esta práctica se puede implementar todas las funciones o ficheros m auxiliares que se necesiten aparte de los citados aquí Ejercicios: Utilizar la función Runge-Kutta implícito para resolver los problemas de valor inicial: a) Para t [0, 0, [ u = [ u(0) = 3 [ u + sin(t) (cos(t) sin(t))

b) Para t [0, 0, [ u = 998 [ 999 u(0) = 3 [ u + sin(t) 999(cos(t) sin(t)) c) Modelo para la dinámica de poblaciones Lotka-Volterra dx = x(α βy) dt dy = y(γ δx) dt Con este modelo se pretende describir la evolución de la población y (presas) que es cazada por otra especie x (depredadores) La constante γ nos indica el crecimiento natural de la población de presas, α la tasa de mortalidad de la población de depredadores, δ y β la variación de la población de presas y depredadores debido a la interacción de ambas especies Tomaremos para este ejercicio α =, β =, γ =, y δ =, y con dato inicial x(0) =, x(0) = 3 Representar gráficamente la solución aproximada utilizando los diferentes tableros de BUTCHER 3 Representar gráficamente en escala doblemente logarítmica las poligonales formadas por los valores (h, error), (h, max(it)) para una cantidad significativa de valores de h 6 Observaciones para Matlab indica el producto de Kronecker En matlab este producto se hace con la función kron I indica la matriz identidad, en MATLAB se pueden crear de diferentes tamaños utilizando el comando eye Para generar vectores o matrices de unos, se utiliza el comando one Para resolver el sistema Ax = b, se suele utilizar x = A b Para seleccionar el método deseado podemos copiar este código que utiliza el comando switch case: switch Met case IT [U,it(n+)= Iteracion_Funcional(f,t(n),u(:,n),h,A,c,tol,itmax); case MN [U,it(n+)= Metodo_Newton(f,df,t(n),u(:,n),h,A,c,tol,itmax); case QN [U,it(n+)= Quasi_Newton(f,df,t(n),u(:,n),h,A,c,tol,itmax); otherwise disp( No es un metodo valido ) end Para consultar cada comando, se puedo usar help