0% encontró este documento útil (0 votos)
105 vistas10 páginas

Método de Heun en EDO con MATLAB

Este documento presenta el método de Simpson 1/3 para resolver una ecuación diferencial ordinaria numéricamente. Explica el planteamiento del problema, la solución manual, el algoritmo, un diagrama de flujo, el código en Matlab, los resultados de la simulación y una conclusión sobre el método.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
105 vistas10 páginas

Método de Heun en EDO con MATLAB

Este documento presenta el método de Simpson 1/3 para resolver una ecuación diferencial ordinaria numéricamente. Explica el planteamiento del problema, la solución manual, el algoritmo, un diagrama de flujo, el código en Matlab, los resultados de la simulación y una conclusión sobre el método.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

MÉTODO DE SIMPSON 1/3

SEGUNDO EXAMEN EXTRAORDINARIO


M.C.: RAFAEL MARQUEZ TIRSO

JHONATAN JOSUE ORTIZ ROSAS

GRUPO: 303 ING. DISEÑO

23 de febrero del 2017

TABLA DE CONTENIDO

Pág.
1.- Planteamiento del problema……………………………………………2

2.- Solución manual…………………………………………….………….. 3

3.-Algoritmo……………………………………………………………….... 4

4.-Diagrama de flujo………………………………………………………...5

5.-Código en Matlab…………………………………………...……….......7

6.-Impresión de pantalla de la corrida del programa…………….…..….8

7.-Tablas..……………………………………………………………………9

8.-Conclusion………………………………………………………………..9

 PLANTEAMIENTO DEL PROBLEMA

Este método calcula las dos derivadas en el intervalo, una en el punto inicial ( xi, yi) y otra
en el punto final del intervalo ( xi+1, yi+1 ). En seguida se promedian las dos derivadas

Página 1 de 11
con lo que se obtiene una aproximación mejorada, de la pendiente en el intervalo
completo

El método estándar se detendría en este punto, sin embargo, en el método de Heun, esta
ecuación sólo es una predicción intermedia, por lo que se llama ecuación predictora. Con
este valor se calcula una pendiente aproximada al final del intervalo, esto es:

El método de Heun es un método predictor – corrector; por esta razón es común


encontrar representado este método como:

 SOLUCIÓN MANUAL
Resolver la ecuación diferencial dada

Página 2 de 11
dy
=2 X +Y
dx
Con y(0) = 1, desde x = 0 hasta x = 5 ∆x = 0.50.

 ALGORITMO

Página 3 de 11
Inicia programa

1.-Dada una función en términos de x e y:


2.- Obtener entradas de usuario
Entrada:
x0,xf=el valor inicial y final de las x
Y0=el valor inicial de y
nn= el número de subintervarlos para evaluar
Definir (x,y)
X=x0;
Y=x0;
I=0;
4.- para i=1:nn
k1=deltax*fxy(x,y);
yE=y+k1;
k2=deltax*fxy(x+deltax,yE);
y=y+(1/2)*(k1+k2);
x=x+deltax;
5.- parar paso 4
6.- imprimir resultado de x e y

 DIAGRAMA DE FLUJO

INICIO
Página 4 de 11
ENTRA: x0, y0, deltax, xf

Definir f(x, y)

Escribir x, y

k 1=∆ xf (x , y)

y E= y + k 1

k 2=∆ xf ¿

1
y= y+ ¿
2

x=x +∆ x

Página 5 de 11
x,y

x ≤ xf ? fin
S N

 CÓDIGO EN MATLAB

clear all

Página 6 de 11
clc

disp('EL MÉTODO DE HEUN, ES UN MÉTODO QUE CALCULA LAS DOS DERIVADAS EN


EL')
disp('INTERVALO, UNA EN EL PUNTO INICIAL (Xi,Yi) Y OTRA EN EL PUNTO FINAL
DEL')
disp('INTERVALO (Xi+1,Yi+1)')

syms x y

%DATOS
f=input('Ingrese la función en terminos de x e y,f(x,y)= ','s'); %función
a evaluar

fxy=inline(f,'x','y');

%SOLICITUD DE DATOS PARA EL METODO DE HEUN

x0=input('ingrese el valor inicial de x0= ');


xf=input('ingrese el valor de x final, Xf= ');
y0=input('ingrese el valor final de y0= ');
nn = input('Ingrese el número de subintervalos para evaluar la EDO, nn =
');
deltax=(xf-x0)/nn; %calcula el paso para evaluar la EDO
disp(' i x y')
x=x0;
y=y0;
i=0;
datos=[ i x y];
disp(datos)

for i=1:nn
k1=deltax*fxy(x,y);
yE=y+k1;
k2=deltax*fxy(x+deltax,yE);
y=y+(1/2)*(k1+k2);
x=x+deltax;
resultados=[i x y];
disp(resultados)
end

fprintf('el valor de x= %4.6f, el valor de y= %4.6f, en %1.0f


iteraciones\n',x,y,i)

 IMPRESIÓN DE PANTALLA DE LA CORRIDA DEL


PROGRAMA

Página 7 de 11
 TABLA
i x y
Página 8 de 11
0 0 1

1.0000 0.5000 1.8750

2.0000 1.0000 3.9219

3.0000 1.5000 7.8730

4.0000 2.0000 14.9187

5.0000 2.5000 26.9929

6.0000 3.0000 47.2384

7.0000 3.5000 80.7625

8.0000 4.0000 135.8640

9.0000 4.5000 226.0290

10.0000 5.0000 373.1722

 CONCLUSIÓN
El método de Heun, es un método numérico desarrollado para resolver
ecuaciones diferenciales ordinarias, da una aproximación a la solución real,
se le conoce como el método de “predictor-correct”, con este método se
puede conseguir una mejor precisión en el resultado si hacemos varios
procesos correctos. De igual es un proceso rápido en matlab, ya que te
resuelve EDO en instantes, los algoritmos para poderlo programarlo es al
principio complicado, pero al final es fácil comprender el proceso y entender
el ciclo que hace.

Página 9 de 11

También podría gustarte