INTEGRACIÓN EN MATLAB

March 30, 2018 | Author: Adrian Pardo | Category: Integral, Equations, Mathematical Analysis, Calculus, Mathematics


Comments



Description

Departamento de Matemática Aplicada.Prácticas de Matemáticas II. Curso 2014/15. Práctica 4. Integración Numérica 1. Integración Numérica. Repaso de Fórmulas Fórmula de los trapecios: Siendo h = b−a i = 0, 1, 2, ..., n, la siguiente fórmula nos aproxima n y denotando yi = f(xi ), el valor de la correspondiente integral definda b y dx = a h (y0 + 2y1 + 2y2 + ... + 2yn−2 + 2yn−1 + yn ) 2 El error viene dado por la expresión: R=− (b − a)h2 ′′ (b − a)3 ′′ nh3 ′′ y (ξ) y (ξ) = − y (ξ) = − 12 12 12n2 donde ξ ∈ [a, b]. Método de Euler: Consideremos una ecuación diferencial de primer orden con valor inicial, es decir, y ′ = f(x, y), y(x0 ) = y0 Construimos una partición uniforme del intervalo [x0 , xn ] con n + 1 puntos: x0 < x1 < ... < xn−1 < xn , h = xi − xi−1 , ∀i. El siguiente algoritmo nos da los valores aproximados de la solución de la ecuación diferencial para cada xi yi+1 = yi + hf (xi , yi ), i = 0, 1, 2, ..., n − 1. Método de RK2 o PC2: Partiendo de la misma situación que en el caso anterior, el algoritmo del método RK2 es: yi+1 = yi + Siendo: 2. h (k1 + k2 ), 2 i = 0, 1, 2, ..., n − 1. k1 = f (xi , yi ) k2 = f(xi + h, yi + hf(xi , yi )) Ejercicios 2 1. Calcula mediante la fórmula de los trapecios la integral 1 f (x)dx , utilizando la siguiente tabla que nos da los valores yi = f (xi ) correspondientes a una malla de puntos igualmente espaciados del intervalo [1, 2]. xi yi 1 1.000 1.1 0.909 1.2 0.833 1.3 0.769 1.4 0.714 1.5 0.667 1.6 0.625 1.7 0.588 1.8 0.555 1.9 0.526 2 0.5 Para ello utiliza el siguiente archivo trapeciosp.m que nos calcula el valor de la integral de una función f mediante la fórmula de los trapecios, a partir de un conjunto de puntos igualmente espaciados y de los valores de la función en dichos puntos. 1 Archivo trapeciosp. Utilizando las funciones anteriores calcula la siguiente integral 1 P (X ≤ 1) = √ 2π 1 2 e−x /2 dx. obtén el valor aproximado de la integral por el método de los trapecios dividiendo el intervalo en n partes iguales con n = 4. (De esta forma se puede obtener una aproximación al valor de π. Sabiendo que los puntos proceden de la función f (x) = 1/x . n = 32. con exactitud prefijada).m function T=trapeciosp(x. 2]. Calcula. 2 .f) % función que calcula la integral de f en [a.m function T=trapecios(a.b] con la regla % de los trapecios y con n subintervalos iguales h=(b-a)/n. aplica la regla de los 2 trapecios para calcular 1 dx x utilizando n subintervalos de la misma longitud en los que se subdivide el intervalo [1. b] mediante la fórmula de los trapecios.n. 2. luego con n = 8. Para ello. n = 16 . los extremos del intervalo y el número de subintervalos de la misma longitud en los que se subdivide el intervalo dado. empieza con n = 4 intervalos. a partir de la función.5*h*(y(1)+y(n+1)+2*sum(y(2:n))). n = 16. % se generan los valores f(x(i)) sobre la malla T=0. % se genera la malla de puntos y=f(x). n=length(x)-1. n = 8. 3.m que nos calcula el valor de la integral de una función f en un intervalo [a..5*h*(y(1)+y(n+1)+2*sum(y(2:n))).y) % función que calcula mediante la fórmula de los trapecios % la integral de una función f de la que se conocen los % valores en unos puntos igualmente espaciados x(i).. sin calcular ninguna cota del error de integración a priori. Explica las razones que te han hecho parar. a priori. Para cuando lo creas conveniente.. Comprueba tus afirmaciones sobre las cotas del error. una cota de los errores que esperas obtener para cada n. Se sabe que 1 0 dx π = 1 + x2 4 Utilizando alguna de las funciones anteriores. n = 6 y n = 11. Archivo trapecios.b. Si hacemos esto último obtenemos el siguiente archivo trapecios. n = 64. con n = 3. T=0. y por qué crees que tu resultado es correcto para la precisión indicada. o modificar un poco el archivo anterior. −∞ con un error menor que 10−3 . % La integral se calcula entre el primer y último punto h=x(2)-x(1). Para ello se puede utilizar la función anterior calculando la malla de puntos xi y los valores yi = f(xi ) sobre la malla de puntos. % es decir y(i)=f(x(i)). x=[a:h:b]. 3 . h = 0. x(n+1)=x(n)+h. Para un problema de valores iniciales (PVI) de la forma y ′ = f(x.y]=ee(f.y0. Dibuja las soluciones obtenidas en cada una de las mallas consideradas con el comando plot. y) y(x0 ) = y0 el método de Euler funciona del siguente modo: A partir de los datos iniciales conocidos (x0 .5. hay que calcular yn+1 = yn + h · f(xn .y0 son los datos iniciales % h es el paso de malla % [x0. realizando manualmente los cálculos.y(n)). que es el parámetro que define la malla computacional para la variable independiente. Utiliza de nuevo la función para refinar los valores obtenidos: Considera ahora mallas con h = 0. La implementación en Matlab de este proceso es como sigue: Archivo ee.m function [x. Repite los cálculos para una malla con paso h = 0. yn ) (1) para n ≥ 0.xf) % f es la función f(x. y) que especifica la ecuación diferencial % y que es necesario definir previamente % x es el vector que contiene a la malla computacional % y es el vector que contiene a la solución aproximada % x0. utilizando una malla de puntos igualmente espaciados con paso h = 1.5. al siguiente problema de valores iniciales y′ = y − x y(0) = 2 para aproximar el valor de la solución para x = 3.xf] es el intervalo computacional N=round((xf-x0)/h). El método de Euler proporciona un mecanismo para calcular aproximaciones numéricas a la solución de una ecuación diferencial. y0 ). y de h. a) Utiliza ahora la función de Matlab definida antes para calcular las aproximaciones con h = 1. end Aplica la fórmula (1). Compara los valores que has obtenido en tus cálculos manuales con los obtenidos utilizando el código en Matlab. % en la llamada de la función % bucle de cálculo de la solución aproximada for n=1:N y(n+1)=y(n)+ h*f(x(n).4.x0. % N es el número de intervalos % en la malla x0+N*h % se comprueba por precaución que x0+N*h=xf y(1)=y0. % datos iniciales que se introducen x(1)=x0.25 y h = 0.h.125. y(0) = 1 en el punto x = 0. El método RK2 (también llamado PC2 o método de Heun) es un método de segundo orden. Haz una tabla con el paso de malla y la aproximación a y(2) obtenida para ese paso de malla. Compara los resultados obtenidos entre si. ytil=y(n)+ h*k1. ¿Para qué pasos de malla sucede que estas aproximaciones tienen 3 dígitos significativos coincidentes? 5.5) obtenida para ese paso de malla para cada uno de los métodos. utilizando los dos métodos numéricos comentados antes: el método de Euler y el RK2. Utiliza el método de segundo orden para resolver numéricamente el PVI del problema anterior: Repite los cálculos de cada uno de los apartados del problema anterior utilizando el método de segundo orden. por k1=f(x(n). La modificación consiste en sustituir las líneas: y(n+1)=y(n)+h*f(x(n). x(n+1)=x(n)+h. Haz una tabla con el paso de malla y la aproximación a y(0. ? ¿Y para x = 3? Utiliza tambien el código para obtener valores en mallas mas finas: Refina. 4 .69616.ytil).y(n)).5*h*(k1+k2).5) en tres mallas consecutivas tenga 3 dígitos coincidentes. Una programación sencilla en Matlab de este método se consigue modificando el programa que has confeccionado para el método de Euler explícito.5. Y así se obtiene un nuevo archivo archivo rk2.y(n)). y con el valor exacto y(0.b) Mirando única y exclusivamente los valores de la solución aproximada en las mallas utilizadas ¿cuantos dígitos correctos podrías garantizar para la solución aproximada en x = 2. Utiliza las funciones de Matlab definidas antes para calcular las aproximaciones con h = 0.m Razona que esta modificación recupera la fórmula que define el método de segundo orden. k2=f(x(n+1). Comenta las diferencias observadas al responder a cada uno de los apartados.5) = 1. Aproxima el valor de la solución del problema de valores iniciales y ′ = x2 + y.25 y después refina. x(n+1)=x(n)+h. 6. y(n+1)=y(n)+. dividiendo sucesivamente por 2 el paso de malla hasta que el resultado del cálculo para y(0. dividiendo sucesivamente por 2 el paso de malla hasta que el resultado del cálculo para y(2) en tres mallas consecutivas tenga 4 dígitos coincidentes.
Copyright © 2024 DOKUMEN.SITE Inc.