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

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

ECUACIONES DIFERENCIALES EN MATLAB

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

METODOS DE RUNGE KUTTA

Preliminares Problemas de Valor Inicial Problemas de Contorno ECUACIONES DIFERENCIALES ORDINARIAS

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

Sea una ecuación diferencial ordinaria explícita de primer orden con una condición en el inicio: y (x) = f(x, y), y(x 0 ) = y 0

Ecuaciones Diferenciales Ordinarias (2)

Observación: El método de Euler, es el método de Taylor de orden 1.

Ecuaciones diferenciales ordinarias

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

Métodos numéricos. Aproximación para la solución de ecuaciones diferenciales ordinarias. Bioing. Analía S. Cherniz

ANEXO I. FUNCIONES DE MATLAB

Unidad VI: Solución de ecuaciones diferenciales 6.1 Métodos de un paso

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

Práctica 8 Resolución de ecuaciones y sistemas de ecuaciones con Mathematica

Métodos Matemáticos I

Ecuaciones en Derivadas Parciales y Análisis Numérico

Técnicas numéricas para las Ecuaciones diferenciales de primer orden: Método de Euler

Ecuaciones Diferenciales

Práctica II: Funciones y gráficas

Laboratorio Nº 1 La Descripción Gráfica de la Ecuación Diferencial Ordinaria

Sistemas de ecuaciones no lineales

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

P R I M E R B L O Q U E E C. D I F E R E N C I A L E S

APLICACIONES COMPUTACIONALES INGENIERÍA EJECUCIÓN MECÁNICA

Curso de Métodos Numéricos. Errores

02 Elementos finitos para tensión/ compresión axial. Diego Andrés Alvarez Marín Profesor Asistente Universidad Nacional de Colombia Sede Manizales

Ecuaciones en Derivadas Parciales y Análisis Numérico

Introducción al plano de fase

Solución de la ecuación de Stokes

Métodos Numéricos en Ecuaciones Diferenciales Ordinarias

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

ETS Minas: Métodos matemáticos

φ(x) u xx +u yy =0 u=0 φ(x) = 100sinh(pi/10)sin(pi x/10)/sinh(pi) ψ (y) = 100sin(pi/10)sinh(pi y/10)/sinh(pi)

Algunos comandos de UNIX que pueden ser útiles son los siguientes:

Integración numérica con MatLab

Flujo en acuífero confinado

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.

Métodos en diferencias para problemas de contorno

Elementos de Cálculo Numérico

VISUALIZACIÓN INTERACTIVO DEL MÉTODO GAUSS LEGENDRE DOS NODOS Y REGLA DE SIMPSON ADAPTATIVA. Oscar E. ARES, Fernando J.

Interpolación Polinomial

UNIVERSIDAD NACIONAL DE SAN ANTONIO ABAD DEL CUSCO

Introducción al Cálculo Numérico

Comenzando a usar MatLab:

Ecuaciones diferenciales

Así, la incoporación de esta ecuación obliga a reescribir la ecuación modelo como:

I.- DATOS DE IDENTIFICACIÓN Nombre de la asignatura Métodos Numéricos (465)

7.3 Método de Euler mejorado

Ecuaciones Diferenciales. Conceptos Generales

Lista de problemas: ciclos y funciones en el lenguaje MATLAB

E.T.S. Minas: Métodos Matemáticos Soluciones Tema 2 Aproximación e interpolación

TEMA 1 INTRODUCCIÓN AL CÁLCULO NUMÉRICO Y EVOLUCIÓN HISTÓRICA

Métodos Matemáticos I

Ecuaciones diferenciales y cálculo numérico

Capítulo 3 El Método de los Elementos de Contorno y la Formulación Hipersingular.

TRABAJOS PRACTICOS COMPLEMENTARIOS PARA RESOLVER CON MATLAB

MÓDULO SE: SISTEMAS DE ECUACIONES

Capítulo 6. Teoría del péndulo. 6.1 Péndulo Simple (Lagrange)

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

MÉTODOS NÚMERICOS SÍLABO

CAPÍTULO. Métodos numéricos

SOLUCIÓN A LA ECUACIÓN EN DIFERENCIAS FINITAS. Hernández Cruz G. Berenice.

Estudio de dinámica de una red neuronal con modelo de Hindmarsh-Rose

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

Tema 12 Introducción a las Ecuaciones Diferenciales Ordinarias

Rancagua, Agosto 2009

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

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

2º INGENIERÍA INDUSTRIAL TEORÍA DE CIRCUITOS Y SISTEMAS

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

Página 2 de 9 veamos como funciona mejor h= > sol2:rk([-x^2+t^2],[x],[10],[t,0,3,0.01])$ IMPORTANTE: - al final de línea poned "$" (en lugar de

Introducción al cálculo numérico. Método de Euler

TEMA 5: INTERPOLACION NUMERICA

Taller de Informática I Dpto. Computación F.C.E. y N. - UBA

Euler Math ToolBox. Software GPL para la enseñanza, I + D y actividades profesionales en general

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

1. La capacidad límite del hábitat de un rebaño en vida salvaje es L. El ritmo de crecimiento dn dt

MATEMÁTICAS II. Práctica 3: Ecuaciones diferenciales de orden superior

Bajo estas hipótesis la ley de Newton permite escribir las ecuaciones del cohete (ver Figura 1.1) como. = m(t) g + T (t), = g + dx dt (0) = v 0.

2. SISTEMAS LINEALES DE PRIMER ORDEN (I)

1. Condiciones de Entrega

METODOS MULTIPASOS METODOS DE ADAMS

Matlab para Análisis Dinámico de Sistemas

Lenguaje de Programación: C++

OFERTA DE TEMAS DE TRABAJOS FIN DE ESTUDIOS. Curso académico: Titulación: Grado en Matemáticas Tipo de trabajo: No concertado

MÉTODOS NUMÉRICOS DE LA

Métodos Numéricos Cap 5: Interpolación y Aproximación polinomial

Simulación Numérica de Yacimientos

ECUACIONES DIFERENCIALES

ETSI de Topografía, Geodesia y Cartografía

Métodos Numéricos Hoja 1 de 5

Ecuaciones en Derivadas Parciales y Análisis Numérico

Resolución de ecuaciones no lineales y Método de Bisección

SOLUCION DE UNA ECUACION O SISTEMA DE ECUACIONES DIFERENCIALES PARCIALES EN UNA VARIABLE ESPACIAL DE TIPO PARABOLICO O ELIPTICO.

Práctica 1: Introducción a MATLAB.

PRÁCTICA 1: Introducción a Matlab

UNIVERSIDAD AUTÓNOMA DE CHIAPAS FACULTAD DE INGENIERÍA CAMPUS I MÉTODOS NUMÉRICOS

Integral de Fourier y espectros continuos

Transcripción:

AMPLIACIÓN DE MATEMÁTICAS o Ing. de Telecomunicación y Aeronáutica) Departamento de Matemática Aplicada II. Universidad de Sevilla CURSO ACADÉMICO 008-009 Práctica II: Problemas de valor inicial en EDO s. 1 Introducción Es sabido que sólo en unos cuantos casos se puede expresar la solución de una ecuación diferencial ordinaria por medios analíticos y que, en general, es imposible resolver el problema de Cauchy aun cuando se sepa que tiene solución única, por lo que es necesario desarrollar métodos que permitan obtener aproximaciones precisas de esa solución. En esta práctica, utilizaremos un método numérico para resolver problemas de valores iniciales. SellamaproblemadevalorinicialoproblemadeCauchyenunintervalo[t 0,t f ], al dado por una EDO y una condición inicial en la forma: y 0 = ft, yt)), yt 0 )=y 0. En general, los métodos numéricos se basan en la discretización de la variable independiente t tiempo o espacio) sustituyendo el intervalo [t 0,t f ] por una malla finita de n +1puntos o nodos t i i =1,...,N) en los que se obtiene la solución de modo aproximado. La distancia entre dos nodos consecutivos de la malla h i = t i+1 t i se denomina paso. El objetivo es definir una estrategia que nos permita producir una sucesión {y n } con n =1,...,N que aproxime a la solución exacta yt) en los puntos t n de la malla. A esa sucesión se le llama solución numérica del problema de Cauchy. MATLAB dispone de varias funciones para resolver numéricamente Problemas de Valor Inicial. En esta práctica, nos centramos en la orden ode45, aunque su utilización se generaliza a las funciones de tipo ode**. Lafunciónode45 está basada en un algoritmo de tipo Runge-Kutta, que se desarrolló a partir del método de Euler mejorado. En las aplicaciones, el método de Euler básico resulta ineficiente y por ello se han desarrollado varios método numéricos de tipo Runge-Kutta. 1

Uso de la función matlab ode45..1 La sintaxis simple. [T,Y]=ode45funcion, tiempos,y0) funcion es el nombre de una función que evalúa el segundo miembro de la ecuación, esto es, ft, yt)). Puede ser un objeto inline o bien una referencia a una m-función del tipo fun.m. tiempos es el intervalo en el que se quiere calcular la solución que puede ser [t0,tf] o bien un vector cuyas componentes constituyen una partición t 0 <t 1 < <t f. y0 es el valor de la condición inicial. T es un vector columna con la partición realizada en el intervalo [t0,tf]. Y es una matriz con tantas columnas como componentes tenga y 0 ytantasfilas como componentes tenga el vector T. Ejercicio 1 resuelto. Calcular en el intervalo [1,π] la solución de y 0 =t + y, y1) = 0.5. >> f=inline *t+y, t, y ); >> [T,Y]=ode45f,[1,pi],0.5); La gráfica se puede dibujar con >> plott,y) En este ejemplo puede observarse que los métodos ode** son de paso variable. Para observar esto, consulta la ayuda de matlab sobre la función diff yteclea >> plott:lengtht)),difft)) Otra forma de definir la función asociada es usar un m-archivo llamado mifun.m de la forma: function [dydt]=mifunt,y) dydt=*t+y; Despuésseejecuta: >> [T,Y]=ode45@mifun,[1,pi],0.5); Con el símbolo @, MATLAB entiende que es una función de nueva creación. Hay otra forma alternativa de llamar a una función con ode45: >> [T,Y]=ode45 mifun,[1,pi],0.5); Para usar esta alternativa, la función mifun debe estar grabada en otro fichero llamado mifun.m. Ejercicio. Calcular la solución al PVI correspondiente a y 0 =0.cos t )y, y1) = 0.5 usando una partición del intervalo [1,π] en 40 subintervalos usar la orden linspace de MATLAB). Hacemos notar que la resolución de sistemas diferenciales con MATLAB se hace igual que la de EDO sólo teniendo en cuenta que, en ese caso, la función del segundo miembro y

la condición inicial toman valores vectoriales. Todos los vectores deben introducirse como vectores columnas. Ejercicio 3 resuelto. Resolverenelintervalo[0, 5π] el PVI y1 0 = y y 3, y 0 = 0.7y 1 y 3, y3 0 = 0.51y 1 y, y 1 0) = 0, y 0) = 1, y 3 0) = 1. Escribimos el sistema en forma vectorial como Y 0 = ft, Y )= y y 3 0.7y 1 y 3 ; Y 0) = Y 0 = 0 1. 0.51y 1 y 1 >> f=inline [y)*y3);-0.7*y1)*y3);-0.51*y1)*y)], t, y ); >> [T,Y]=ode45f,[0,5*pi],[0;1;1]) Ejercicio 4 resuelto. Resolución de un problema con la ecuación de Van der Pol de parámetro μ =1en el intervalo [0, 0]: y 00 1 y )y 0 + y =0, y0) =, y 0 0) = 0. Usando el cambio y 1 = y; y = y 0, el sistema diferencial asociado es: µ µ Y 0 y = ft, Y )= 1 y1)y ; Y 0) = Y y 0 = 1 0 Construimos la función de Matlab que evalúe el segundo miembro función asociada): function dydt=vderpt,y) dydt = [y);1-y1)^)* y)-y1)]; Observe que: en la definición de la funcion vderp ha de escribirse la variable independiente t. la matriz dydt debe ser escrita por columnas. Si queremos integrar numéricamente el problema de Cauchy y obtener una representación gráfica de las dos componentes de la solución al sistema, escribimos: >> [T,Y]=ode45@vderp,[0,0],[;0]); >> plott,y:,1), T,Y:,)); Posteriormente podemos escribir lo siguiente para clarificar el dibujo. >> legend y_1, y_ );xlabel t );ylabel y_1,y_ ). 3

Observar que la primera componente y 1 es realmente la solución al problema de Van der Pol. Si queremos representar una curva en el plano de fases: >> ploty:,1),y:,)) Si queremos conocer el valor aproximado de la solución para un valor t que no está en la partición T creada por el programa, podemos interpolar con la orden deval: >> sol=ode45@vderp,[0 0],[ 0]); >> valor=devalsol,4.5) valor = -1.3679 0.8764 Ejercicio 5. Resolverenelintervalo [0, 5] el siguiente problema de segundo orden y obtener una aproximación de la solución para t =: y 00 = 1 seny), y 0 y0) = 1, y 0 0) = 1.. La sintaxis general: opciones y parámetros. [T,Y]=ode45funcion, tiempos,y0, options, p1,p,... ) El argumento options es una estructura creada con la orden odeset donde podemos indicar una serie de parámetros que intervienen en el cálculo. Podemos averiguar los valores que utiliza por defecto la orden ode45 ejecutando el comando odeset sin argumentos: >> odeset Ver ayuda de Matlab para más detalles. Si no se necesita, poner una matriz vacía [ ] en su lugar. Los argumentos p1, p,... son parámetros que serán pasados como argumentos a la función creada fun.m cuando sea llamada. Ejercicio 6 resuelto. Escribir un programa que permita resolver el siguiente problema de Cauchy para la ecuación de Van der Pol general: y 00 μ1 y )y 0 + y =0, y0) = 0, y 0 0) =. Previamente, creamos la función asociada en un m-fichero que se llame fun.m: function dydt=funt,y,mu) dydt = [y);mu*1-y1)^)*y)-y1)]; En otro m-fichero escribimos las órdenes: function vanderpolt,mu) 4

[T1,Y]=ode45@fun,[0,T],[0;],[ ],mu); plott1,y:,1), T1,Y:,)),shg legend y1, y ) pause ploty:,1), Y:,)),shg Los métodos en los que están basados las órdenes ode de MATLAB utilizan el control del paso como herramienta para conseguir el compromiso entre la precisión deseada y el costo numérico. Aun así, podemos encontrarnos con problemas numéricos como el problema de stiffness, en el que los cálculos numéricos internos al programa llevan a resoluciones erróneas. Introducimos los valores T =0, μ =1, μ =10yμ =1000 para observar cuándo aparece oscilación brusca de la solución. En general, una posible solución a este problema consiste en proporcionar el jacobiano para evitar que éste sea determinado numéricamente. Utilizar ahora los siguientes ficheros: function dfdt=jacobianot,y,mu) dfdt = [0,1;-*mu*y1)*y)-1,mu*1-y1)^)]; function vanderstifft,mu) options=odeset Jacobian,@jacobiano); [T1,Y]=ode45@fun,[0,T],[0;],options,mu); plott1,y:,1)) axis[0,t,-.5,.5]) Ejercicio 7. Escribir un programa para resolver en el intervalo [0, 6π] el problema siguiente para distintos valores del parámetro a. Obtener la gráfica de la solución aproximada para los valores a =1y a = 1. y 0 = a cos t )y, y0) = 1. Ejercicio 8. Considerar el problema dy dt = y 4e 3t, y0) = 1. Utilizar ode45 para encontrar una solución aproximada en el intervalo [0, 3]. Qué parece ocurrir cuando t crece? A continuación dibujar la solución en un intervalo más largo que vaya al menos hasta t =0). Qué ocurre cuando t crece? Resolver el PVI exactamente, comparar la solución exacta con la aproximación de Matlab e interpretar los resultados. 5