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