0% encontró este documento útil (0 votos)
10 vistas56 páginas

Método del Trapecio en Integración Numérica

Cargado por

gamezalberto1002
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 PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
10 vistas56 páginas

Método del Trapecio en Integración Numérica

Cargado por

gamezalberto1002
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 PDF, TXT o lee en línea desde Scribd

ESCUELA SUPERIOR DE INGENIERIA MECANICA Y ELECTRICA

(UNIDAD ZACATENCO)

MÉTODO
DEL TRAPECIO
INGENIERIA ELECTRICA
MÉTODOS NUMÉRICOS - GRUPO:3EM2
PROFESOR: MANUEL TORRES SABINO
INTEGRANTES:
HIDALGO JIMÉNEZ SEBASTIÁN
MACHUCA GÓMEZ NAYELLI
SALGADO ANGEL HUMBERTO
 MÉTODO DEL TRAPECIO

 OBJETIVOS:
En análisis numérico la regla del trapecio es un método de integración, es decir, un
método para calcular aproximadamente el valor de una integral definida. La regla
del trapecio compuesto o regla de los trapecios es una forma de aproximar una
integral definida utilizando los trapecios.
El objetivo de este informe es comprender este método de integración, para así
poder obtener una alternativa a la hora de solucionar o calcular la integral de alguna
ecuación específica. De la misma forma, conocer el seudocódigo que nos permitir
evaluar estas integrales en un simulador.

 MARCO TEÓRICO:
En matemática la regla del trapecio es un método de integración numérica, es
decir, un método para calcular aproximadamente el valor de la integral definida

Dentro del Cálculo Numérico, la Integración Numérica comprende una amplia familia
de algoritmos para el cálculo del valor numérico de una integral definida. En la
mayoría de los casos, ese valor numérico es un valor aproximado de la integral
definida. Puede haber varias razones por la cuales se desee o se necesite calcular
el valor numérico aproximado de una integral definida:
La función integrando es desconocida, pero se conocen algunos puntos de la
función, por ejemplo, puntos de datos obtenidos experimentalmente.
La función integrando no tiene función primitiva, por ejemplo: La función primitiva es
conocida, pero es más conveniente o más sencillo calcular numéricamente la
integral definida.

Para aproximar la solución de una integral definida se puede utilizar la siguiente


estrategia; como la integral definida representa el área bajo la curva, entonces es
posible aproximar dicha área a través de un trapecio (n = 1), ver la figura,

por lo que, una aproximación a la integral definida estará dada por,

Donde la expresión del lado derecho es la formula para el área del trapecio. Sin
embargo es posible mejorar esta aproximación tomando dos trapecios (n = 2), y
para ello se divide el intervalo de integración [a, b], a la mitad para tener, , ver la
figura,
Así, que la nueva aproximación a la integral definida será,
 SISTEMA POR RESOLVER

Use la regla del trapecio con 10 segmentos para estimar la integral:

f(x) = 0.2 + 25x − 200x 2 + 675𝑥 3 − 900𝑥 4 + 400𝑥 5

Con a=0
Con b = 0.8
Con una Ianalitica = 1.640533

Formula:

𝐼 = (𝑏 − 𝑎) ∗ 𝑓(𝑥𝑜)
+ 2[𝑓(𝑥1) + 𝑓(𝑥2) + 𝑓(𝑥3) + 𝑓(𝑥4) + 𝑓(𝑥5) + 𝑓(𝑥6) + 𝑓(𝑥7) + 𝑓(𝑥8)
+ 𝑓(𝑥9)] + 𝑓(𝑥1𝑜)/2(𝑛)

Calculamos a h, h = b-a / n

0.8 − 0
ℎ= = 0.08
10

TABLA Y GRAFICA

(𝑥0)=0 𝑓(𝑥𝑜)=0.2
(𝑥1)=0.08 𝑓(𝑥1)=1.230047
(𝑥2)=0.16 𝑓(𝑥2)=1.296919
(𝑥3)=0.24 𝑓(𝑥3)=1.343721
(𝑥4)=0.32 𝑓(𝑥4)=1.743393
(𝑥5)=0.4 𝑓(𝑥5)=2.456
(𝑥6)=0.48 𝑓(𝑥6)=3.186015
(𝑥7)=0.56 𝑓(𝑥7)=3.539607
(𝑥8)=0.64 𝑓(𝑥8)=3.181929
(𝑥9)=0.72 𝑓(𝑥9)=1.994401
(𝑥10)=0.8 𝑓(𝑥10)=0.232
f(x) = 0.2 + 25x − 200x 2 + 675𝑥 3 − 900𝑥 4 + 400𝑥 5

0.8
8000𝑥 3 − 10800𝑥 2 + 4050𝑥 − 400𝑑𝑥
∫ = 𝑓" = −60
0 0.8 − 0

𝐼 = (0.8 − 0) ∗ 0.2 + 2[1.230047 + 1.296919 + 1.343721 + 1.743393 + 2.456 + 3.186015 + 3.539607 + 3.181929 + 1.994401] + 0.232
20
= 1.615043

𝐸𝑡 = 1.640533 − 1.615043 = 0.025490


0.025490
𝑒𝑡 = | | ∗ 100 = 1.55%
1.640533

(𝑏 − 𝑎)3
𝐸𝑎 = 𝑓"(𝑥)
12(𝑛)2
(0.8 − 0)3
𝐸𝑎 = (−60) = 0.025600
12(10)2
Se oberva que el valor de Ea0.025600 se aprixima cada vez mas al valor de Et
teniendo un valor de 0.02549
 ALGORITMO

CO
EN C++
 DIAGRAMA DE FLUJO
 CODIGO:
#include <stdio.h>
#include <math.h>

float calc_fxn(float b){


float temp;
temp = (0.2 + (25 * b) - (200 * pow(b,2)) + (675 * pow(b,3)) - (900 * pow(b,4)) + (400*pow(b,5)));
return temp;
}
int main(){
int n,i;
float a,b,x,y,fxn,resultado=0,temp=0;
printf("REGLA DEL TRAPECIO\n");
printf("Para la funcion: f(x) = 0.2 + 25x - 200x^2 + 675x^3 - 900x^4 + 400x^5\n\n");
printf("\nIngresa 'a': ");
scanf("%f",&a);
printf("Ingresa 'b': ");
scanf("%f",&b);
printf("\nIngresa el numero de segmentos\n");
scanf("%d",&n);
x = b / n;
y = a + x;
for(i=1;i<=n-1;i++)
{fxn = calc_fxn(y);
y = y + x;
resultado = resultado + fxn;
} temp = ( b - a) * ( calc_fxn(a) + 2*(resultado) + calc_fxn(b))/(2*n) ;
printf("\nResultado = %f",temp);

return 0;}
 PANTALLA DE SALIDA

Como en el ejercicio de la clase logramos observar el valor de la integral en el cual


obtenemos su valor de 1.615043, donde calculando más a fondo obtenemos lo
que son sus errores
 CONCLUSIONES
Humberto Salgado Angel:
Tras los resultados obtenidos podemos observar que conforme la regla del trapecio
es un método numérico que nos permite encontrar el área bajo una curva, en este
caso, entre más divisiones realizábamos más se acercaba al valor que obteníamos
mediante el método de interpolación por integración.
Nayelli Machuca Gomez:
De acuerdo las comparaciones de los resultados de cada tabla nos podemos dar
cuenta que el método del trapecio es el mas facil y sencillo en ciertos casos es la
menos precisa en casos para intervalos muy grandes, para obtener intervalos más
precisos debemos tomar intervalos mas pequeños.
Sebastian Hidalgo Jimenez:
El programa es del método del trapecio, método que fue abordado en clases de
métodos numéricos, este método nos sirve para encontrar áreas bajo
cuervas. Gracias a este programa podemos obtener de una manera más fácil áreas
bajo curvas y se puede observar que más divisiones se tomen es más aproximada
el área.
 REFERENCIAS

 [Link]
 [Link]
diferenciacion-e-integracion-numericas/metodos-de-integracion-metodo-del-
trapecio
 [Link]
2012/Ingenier%C3%ADa%20Qu%C3%ADmica/2_Teoria/Tema_6_Ingenieri
a_de_la_Reaccion_Quimica/A60/603_Integracion_grafica_por_Trapecios.p
df
 [Link]
ESCUELA SUPERIOR DE INGENIERIA MECANICA Y ELECTRICA
(UNIDAD ZACATENCO)

Método de Simpson
1/3 & 3/8
INGENIERIA ELECTRICA
MÉTODOS NUMÉRICOS - GRUPO:3EM2
PROFESOR: MANUEL TORRES SABINO
INTEGRANTES:

HIDALGO JIMÉNEZ SEBASTIÁN


MACHUCA GÓMEZ NAYELLI
SALGADO ANGEL HUMBERTO
INTRODUCCIÓN
A lo largo de este curso hemos visto las diversas formas en como se pueden realizar
cálculos con aproximaciones muy asertivas a los valores verdaderos. Tal es el caso
de este método de Simpson que consta de la integración numérica, hemos visto que
una forma sencilla de aproximar una integral definida en un intervalo es mediante la
regla del trapecio, que es básicamente la forma en que se van dividiendo cada
subintervalo.
Ahora bien, la regla de Simpson nos brinda una mejor facilidad para tener mayores
resultados asertivos. En donde en calculo de una integral definida es clave para
legar al resultado.

OBJETIVOS
Encontrar una mejor manera de poder realizar cálculos con aproximaciones que
sean muy exactas y convenientes. Tomar en cuenta con es el margen de error de
determinadas aproximaciones.
MARCO TEORICO DE SIMPSON 1/3
Dentro de lo que veremos en este método de integración numérica con la regla o
método de Simpson, es una alternativa que consiste en la aproximación del cálculo
del área plana bajo una curva. Pero para ello es necesario el uso de trapecios
curvilíneos a partir de una interpolación con una función cuadrática.

Es necesario recalcar que esta aproximación se le llama “simple” por que solo utiliza
un solo polinomio. Para poder realizar dicha aproximación, es necesario conocer
tres puntos que estén espaciados pero que logre tener unión o cercanía; que es
básicamente tener los dos extremos y un punto central. Aplicando de esta manera
la expresión, se van utilizando así más puntos intermedios de tal forma que se pude
ir definiendo como una variable “compuesta”. Del método en donde se utilizan N
puntos que corresponden a n=N-1.
Uno de los inconvenientes si se puede llamar de ese modo, es que para poder
realizar este método es muy necesario tener en cuenta, que se ocupa de una
cantidad de subintervalos pares. Por lo tanto, se define un valor h que corresponde
a el ancho del subintervalo o el paso que hay entre puntos. Se calcula como h =
b−a/ n. Finalmente, la aproximación del ´área se puede calcular como:

Ejemplo:
2
Calcular el área de 𝑓(𝑥) = 𝑒 −𝑥 desde x=-1 hasta x=1
1- Para calcular el área debe calcularse su integral:
1
2 1 − (−1) 1−1
∫ 𝑒 −𝑥 𝑑𝑥 ≈ [𝑓(−1) + 4𝑓 ( ) + 𝑓(1)]
−1 6 2
1
≈ [0.3678 + 4 ∗ 1 + 0.3678] ≈ 1.5786
3
Una de las cosas que se espera de este método es que a medida que aumenta
la cantidad de puntos, la separación que hay entre ellos disminuye. Por lo que
debe de acercarse mas al valor de la integral definida.
2- Se debe de usar el compuesto por lo cual se utiliza la segunda formula:

1 − (−1)
𝑛=4⟹ℎ= = 0.5
4

3- Para este tercer paso, es necesario realizar una tabla que nos permitirá
identificar que valores son necesarios de calcular y en que parte de la
ecuación se van a necesitar.

i x F(x)
0 -1 0.3678
1 0.5 0.7788
2 0 1
3 -0.5 0.7788
4 1 0.3678

1
2 0.5
∫ 𝑒 −𝑥 𝑑𝑥 ≈ [𝑓(−1) + 𝑓(1) + 4(𝑓(−0.5) + 𝑓(0.5)) + 2𝑓(0)]
−1 3
0.5
≈ [0.3678 + 0.3678 + 4(0.7788 + 0.7788) + 2 ∗ 1] ≈ 1.4943
3
1 2
Ya por último tenemos que: ∫−1 𝑒 −𝑥 ≈ 1.4943 es una aproximación bastante
buena.
MARCO TEORICO DE SIMPSON 3/8

Tenemos un ligero cambio respecto a este mismo método, y es que ahora


la regla cambia a 3/8 de Simpson. Aun que es bastante similar a la de 1/3,
solo que la diferencia reside en que para la regla 3/8, el interpolante es un
polinomio cubico. Por lo cual la regla establece la siguiente formula:

De modo que remplazando (b-a) /3 como si fuera h, obtenemos:

Ahora bien, una de las cosas que se deben de cumplir para esta regla, es
que la regla de 3/8 para n intervalos, n debe de ser múltiplo de 3.

 SISTEMA A RESOLVER

𝑓(𝑥) = 0.2 + 25𝑥 − 200𝑥 2 + 675𝑥 3 − 900𝑥 4 + 400𝑥 5


𝑎 = 0 𝑦 𝑏 = 0.8 𝐼𝑎𝑛𝑎𝑙𝑖𝑡𝑖𝑐𝑎 = 1.640533
3 3[𝑓(𝑥7) + 𝑓(𝑥8) + 𝑓(𝑥9)]
𝐼 = (𝑏 − 𝑎)𝑓(𝑥6) +
8 8
3.487179 + 3[5.497095] + 0.222
= (0.266666) ∗
8
3
𝐼 = 0,673680
8
1 𝐼3
𝐼𝑟 = 𝐼 + = 1.641068
3 8
0.000533
𝐸𝑡 = 1.640533 − 1.641086 = −0.000536 𝐸𝑡 = | | ∗ 100 = 0.03%
1.6440533
 Diagrama de flujo:
PSEUDOCODIGO

Leer f, a, b, n
Si modulo (n, 3) = 0
h = (b – a) / n
suma1 = 0
suma2 = 0
suma3 = 0
Para k = 3 Hasta n – 3 Paso 3
x = a + h*k
suma1 = suma1 + f(x)
Fin Para
Para k = 1 Hasta n – 2 Paso 3
x = a + h*k
suma2 = suma2 + f(x)
Fin Para
Para k = 2 Hasta n – 1 Paso 3
x = a + h*k
suma3 = suma3 + f(x)
Fin Para
s = 3 * h * (f(a) + f(b) + 2 * suma1 + 3 * suma2 + 3 * suma3) / 8
Si no
s = ‘n debe ser múltiplo de 3’
Fin Si
Mostrar s
Fin programa
 Código del programa:
1/3

#include<stdio.h>
#include<math.h>

double f(double x){


return (0.2 + (25 * x) - (200 * pow(x,2)) + (675 * pow(x,3)) - (900 * pow(x,4)) + (400*pow(x,5)));
}

main(){
int n,i;
double a,b,h,x,sum=0,integral;

printf("\n Numero de intervalos: ");


scanf("%d",&n);
printf("\n Ingrese el limite inicial: ");
scanf("%lf",&a);
printf("\n Ingrese el limite final: ");
scanf("%lf",&b);

h=fabs(b-a)/n;
for(i=1;i<n;i++){
x=a+i*h;
if(i%2==0){
sum=sum+2*f(x);
}
else{
sum=sum+4*f(x);
}
}
integral=(h/3)*(f(a)+f(b)+sum);

printf("\nLa integral es: %lf\n",integral);


}

3/8

#include<stdio.h>
#include<math.h>
double f(double x){
return (0.2 + (25 * x) - (200 * pow(x,2)) + (675 * pow(x,3)) - (900 * pow(x,4)) + (400*pow(x,5)));
}
main(){
int n,i;
double a,b,h,x,sum=0,integral;
printf("\nINGRESA NO SI NO ES. INTERVALOS EN (MULTIPLO DE 3): ");
scanf("%d",&n);
printf("\nEL LIMITE INICIAL: ");
scanf("%lf",&a);
printf("\nEL LIMITE FINAL: ");
scanf("%lf",&b);
h=fabs(b-a)/n;
for(i=1;i<n;i++){
x=a+i*h;
if(i%3==0){
sum=sum+2*f(x);
}
else{
sum=sum+3*f(x);
}
}
integral=(3*h/8)*(f(a)+f(b)+sum);
printf("\nLA INTEGRAL ES: %lf\n",integral);
}
 PANTALLA DE SALIDA

La pantalla de salida calculada en el método de 1/3 de Simpson

La pantalla de salida calculada en el método de 3/8 de Simpson


 CONCLUSIÓN:
SEBASTIAN HIDALGO JIMENEZ
Existen diversas formas de realizar cálculos que tengan que ver con el área que
existe bajo una curva, tenemos en consideración que el uso de trapecios es uno de
los métodos con los cuales se puede llegar a tener un resultado, pero no uno muy
bueno. Por ello con el método de Simpson es más sencillo realizar la integración
numérica con valores o mejor dicho intervalos ya definidos. Entonces caemos a la
razón de la en método o regla de Simpson es una forma más aceptable de realizar
dichos cálculos y que además ofrece valores que son realmente aproximados y
confiables.

HUMBERTO SALGADO ANGEL:


 La integración con métodos numéricos es una herramienta útil cuando se
trata de integrar una función muy complicada o datos tabulados.
 Con el método de Simpson se puede aproximar una integral compleja a la
integral de un polinomio.
 Con el método de Simpson se logra convertir matemáticas superiores en
aritméticas básicas.
 La regla de Simpson de 1/3 es útil cuando se tiene una cantidad par de
segmentos y una cantidad impar de puntos.
 La regla de Simpson de 1/3 alcanza una precisión de tercer orden.

NAYELLI MACHUCA GOMEZ:La regla de ⅓ Y 3/8 de Simpson permite realizar la


integración numérica mediante la unión de puntos equidistantes de la curva con
parábolas de segundo grado para luego obtener el área aproximada bajo la curva.
Además este método presenta una aproximación más precisa que la Regla del
Trapecio

 REFERENCIAS

 [Link]
 [Link]
diferenciacion-e-integracion-numericas/metodo-de-simpson-3-8
 [Link]
 [Link]
diferenciacion-e-integracion-numericas/metodo-de-simpson-1-3
 [Link]
formula-y-como-funciona/
ESCUELA SUPERIOR DE INGENIERIA MECANICA Y ELECTRICA
(UNIDAD ZACATENCO)

Método de Euler

INGENIERIA ELECTRICA
MÉTODOS NUMÉRICOS - GRUPO:3EM2
PROFESOR: MANUEL TORRES SABINO
INTEGRANTES:

HIDALGO JIMÉNEZ SEBASTIÁN


MACHUCA GÓMEZ NAYELLI
SALGADO ANGEL HUMBERTO
 MÉTODO DE EULER

OBJETIVOS:

El alumno realizará un trabajo sobre el método de Euler en el cual el alumno


aprenderá y tendrá la capacidad de poder interpretar un conjunto de datos obtenidos
en los ejercicios realizados al mismo tiempo verificará el cumplimiento de este
método. A su vez, empleara sus conocimientos en programación para hacer un
código, el cual resuelva problemas aplicando el método de Euler .
 MARCO TEORICO

En matemática y computación, el método de Euler, llamado así en honor de


Leonhard Euler, es un procedimiento de integración numérica para resolver
ecuaciones diferenciales ordinarias a partir de un valor inicial dado.

El método de Euler es el más simple de los métodos numéricos resolver un


problema del siguiente tipo:

Consiste en multiplicar los intervalos que va de x0 a xf en n su intervalos de ancho


h ; ósea:

de manera que se obtiene un conjunto discreto de n+1 puntos: x0, x1, x2,.......,xn del
intervalo de interés [x0, xf] . Para cualquiera de estos puntos se cumple que:

La condición inicial y(x0) = y0 , representa el punto P0 = (x0, y0)ñ por donde pasa la
curva solución de la ecuación de el planteamiento inicial, la cual se denotará como
F(x)= y.
Ya teniendo el punto P0 se puede evaluar la primera derivada de F(x) en ese punto;
por lo tanto:

Con esta información se traza una recta, aquella que pasa por P0 y de pendiente
f(x0, y0). Esta recta aproxima F(x) en una vecinidad de x0. Tómese la recta como
reemplazo de F(x) y localícese en ella (la recta) el valor de y correspondiente a x1.
Entonces, podemos deducir segun la Gráfica :
Se resuelve para y1:

Es evidente que la ordenada y1 calculada de esta manera no es igual a F (x1), pues


existe un pequeño error. Sin embargo, el valor y1 sirve para que se aproxime F' (x)
en el punto P = (x1,y1) y repetir el procedimiento anterior a fin de generar la sucesión
de aproximaciones siguiente:

Análisis del error para el método de Euler


La solución numérica de las EDO implica dos tipos de error:
1. Errores de truncamiento, o de discretización, originados por la naturaleza de
las técnicas empleadas para aproximar los valores de y.
2. Errores de redondeo, causados por el número limitado de cifras significativas
que una computadora puede retener.
Los errores de truncamiento se componen de dos partes. La primera es un error de
truncamiento local que resulta de una aplicación del método considerado, en un solo
paso. La segunda es un error de truncamiento propagado que resulta de las
aproximaciones producidas durante los pasos previos. La suma de los dos es el
error de truncamiento global o total.
Al adquirir cierta comprensión de la magnitud y de las propiedades del error de
truncamiento, puede desarrollarse el método de Euler directamente de la expansión
de la serie de Taylor. Para ello, observe que la ecuación diferencial que se va a
integrar será de la forma general:
y′ = ƒ(x, y)
Donde y′ = dy/dx, x y y son las variables independiente y dependiente,
respectivamente. Si la solución (es decir, la función que describe el comportamiento
de y) tiene derivadas continuas, se representa por una expansión de la serie de
Taylor respecto a un valor inicial (xi, yi), como sigue

donde x está en algún lugar en el intervalo de xi a xi + 1. Es posible desarrollar una


forma alternativa, sustituyendo la ecuación en las ecuaciones para obtener:

donde O(hn+1) especifica que el error de truncamiento local es proporcional al


tamaño de paso elevado a la potencia (n + 1).Al comparar las ecuaciones , se
advierte que el método de Euler corresponde a la serie de Taylor, hasta el término
ƒ(xi, yi)h inclusive. Además, la comparación indica que el error de truncamiento se
debe a que aproximamos la solución verdadera mediante un número finito de
términos de la serie de Taylor. Así, truncamos, o dejamos fuera, una parte de la
solución verdadera. Por ejemplo, el error de truncamiento en el método de Euler se
atribuye a los términos remanentes en la expansión de la serie de Taylor, que no se
incluyeron en la ecuación. Al restar la ecuación , que es una aproximación se llega
a

donde Et= error de truncamiento local verdadero. Para h suficientemente pequeña,


los errores en los términos de la ecuación normalmente disminuyen, en tanto
aumenta y el resultado se representa como:
 SISTEMA POR RESOLVER

Con el método de Euler integre numéricamente la ecuación


𝑑𝑦
= 2𝑥 3 + 12𝑥 2 − 12𝑥 + 8.5
𝑑𝑥
Desde x=0 hasta x=4 con un tamaño de paso h=0.25. La condición inicial en
x=0 es y=1. Recuerde que la solución exacta o verdadera es
𝑦 = −0.5𝑥 4 + 4𝑥 3 − 10𝑥 2 + 8.5𝑥 + 1

I=0
Y1= Y0+f(x0,y0)h
f(x0,y0)= f(0,1)= −2(0)3+12(0)2-20(0)+8.5=8.5
y (0.25) = y1 = 1+8.5(0.25) =3.125

I=1
Y2= Y1+f(x1,y1)h
f(x1,y1)= f(0.25,3.125)= −2(0.25)3+12(0.25)2-20(0.25)+8.5= 4.21875
y (0.5) = y2 = 3.125+4.21875(0.25) = 4.179687

I=2
Y3= Y2+f(x2,y2)h
f(x2,y2)= f(0.5,4.179687)= −2(0.5)3+12(0.5)2-20(0.5)+8.5= 1.25
y (0.75) = y3 = 4.179687+1.25(0.25) = 4.492187

I=3
Y4= Y3+f(x3,y3)h
f(x3,y3)= f(0.75,4.492187)= −2(0.75)3+12(0.75)2-20(0.75)+8.5= -0.59375
y (1) = y4 = 4.492187+(-0.59375) (0.25) = 4.343750

I=4
Y5= Y4+f(x4,y4)h
f(x4,y4)= f(1,4.343750)= −2(1)3+12(1)2-20(1)+8.5= -1.5
y (1.25) = y5 = 4.343750+(-1.5) (0.25) = 3.96875

I=5
Y6= Y5+f(x5,y5)h
f(x5,y5)= f(1.25,3,96875)= −2(1.25)3+12(1.25)2-20(1.25)+8.5= -1.65625
y (1.5) = y6 = 3.96875+(-1.65625) (0.25) = 3.554688

I=5
Y6= Y5+f(x5,y5)h
f(x5,y5)= f(1.25,3,96875)= −2(1.25)3+12(1.25)2-20(1.25)+8.5= -1.65625
y (1.75) = y6 = 3.96875+(-1.65625) (0.25) = 3.554688
I=6
Y7= Y6+f(x6,y6)h
f(x6,y6)= f(1.5,3.554688)= −2(1.5)3+12(1.5)2-20(1.5)+8.5= -1.25
y (2) = y7 = 3.554688+(-1.25) (0.25) = 3.242188

I=7
Y8= Y7+f(x7,y7)h
f(x7,y7)= f(1.75,3.242188)= −2(1.75)3+12(1.75)2-20(1.75)+8.5= -0.46875
y (2.25) = y8 = 3.242188+(-0.46875) (0.25) = 3.125

I=8
Y9= Y8+f(x8,y8)h
f(x8,y8)= f(2,3.125)= −2(2)3+12(2)2-20(2)+8.5= 0.5
y (2.5) = y9 = 3.125+0.5 (0.25) = 3.25

I=9
Y10= Y9+f(x9,y9)h
f(x9,y9)= f(2.25,3.25)= −2(2.25)3+12(2.25)2-20(2.25)+8.5= 1.46875
y (2.75) = y10 = 3.25+1.46875 (0.25) = 3.617188

I=10
Y11= Y10+f(x10,y10)h
f(x10,y10)= f(2.5,3.617188)= −2(2.5)3+12(2.5)2-20(2.5)+8.5= 2.25
y (3) = y11 = 3.617188+2.25 (0.25) = 4.179688

I=11
Y12= Y11+f(x11,y11)h
f(x11,y11)= f(2.75,4.179688)= −2(2.75)3+12(2.75)2-20(2.75)+8.5= 2.65625
y (3) = y12 = 3.617188+2.25 (0.25) = 4.843751

I=12
Y13= Y12+f(x12,y12)h
f(x12,y12)= f(3,4.843751)= −2(3)3+12(3)2-20(3)+8.5= 2.5
y (3.25) = y13 = 4.843751+2.5 (0.25) = 5.468751

I=13
Y14= Y13+f(x13,y13)h
f(x13,y13)= f(3.25,5.468751)= −2(3.25)3+12(3.25)2-20(3.25)+8.5=1.59375
y (3.5) = y14 = 5.468751+1.59375 (0.25) = 5.867189
I=14
Y15= Y14+f(x14,y14)h
f(x14,y14)= f(3.5,5.867189)= −2(3.5)3+12(3.5)2-20(3.5)+8.5=-0.25
y (3.75) = y15 = 5.867189+(-0.25) (0.25) = 5.804689

I=15
Y16= Y15+f(x15,y15)h
f(x15,y15)= f(3.75,5.804689)= −2(3.75)3+12(3.75)2-20(3.75)+8.5=-3.21875
y (4) = y16 = 5.804689+(3.21875) (0.25) = 5

xi Y (x) verdadera Y(x) euler Et(%)


0 2.560547 1.000000 0
0.25 2.560547 3.125000 -22.044
0.5 3.218750 4.179687 -29.854
0.75 3.279297 4.492187 -36.986
1 3.000000 4.343750 -44.791
1.25 2.591797 3.96375 -53.12
1.5 2.218750 3.554688 -60.21
1.75 1.998047 3.242188 -62.26
2 2.000000 3.125000 -56.25
2.25 2.248047 3.250000 -44.56
2.5 2.718750 3.617188 -33.04
2.75 3.341797 4.179688 -25.07
3 4.000000 4.843751 -21.09
3.25 4.528297 5.468751 -20.74
3.5 4.718750 5.867189 -24.33
3.75 4.310547 5.804689 -34.66
4 3.000000 5.000000 -66.66
 ALGORITMO

'intervalo de integración
xi = 0
xf = 4
'variables iniciales
x = xi
y=1
'establece el tamaño de paso y determina el
'número de pasos de cálculo
dx = 0.25
nc = (xf – xi)/dx
'condiciones de salida inicial
PRINT x, y
'ciclo para implementar el método de Euler
'y despliegue de resultados
DOFOR i = 1, nc
dydx = –2x3 + 12x2 – 20x + 8.5
y = y + dydx · dx
x = x + dx
PRINT x, y
END DO
 DIAGRAMA DE FLUJO

Inici
oo

H, x0, x1, y0

L=x1/h

y[-1]=1

i=0 f[i]=-
(2*(pow((x0+(h*i)),3)))+(12*(pow((x0+(h*i)),2)))
i<L -(20*(x0+(h*i)))+8.5

y[i]=y[i-1]+(f[i]*h)
i++

yv[i]=-
i=j (0.5*(pow((x0+(h*i)),4)))+(4*(pow((x0+(h*i)),3))
)-(10*(pow((x0+(h*i)),2)))+(8.5*x0+h)+1
i<L
et=(yv[i]-y[i])*100;

i++

Resultados.

Y(Euler), et. (La aproximación y


los errores).

Fin
 CODIGO

#include <cstdlib>

#include <iostream>

#include <cmath>

#include <iomanip>

using namespace std;

int main(int argc, char *argv[])

//Definicion de variables

double h,x0,x1,y0=1,y1,y[100],f[100],L,yv[100],et;

cout<<"\n\t Metodo de Euler";

cout<<"\n\n Ingresa los valores que se te piden";

cout<<"\n Ingresa h: "; cin>>h;

cout<<"\n x0: "; cin>>x0;

cout<<"\n y0: "<<y0;

cout<<"\n\n x1: "; cin>>x1;

cout<<endl;

//Desarrollo del Metodo de Euler

//Calculo de limite

L=x1/h;

//Tabla para el Metodo

cout<<"\n\n X \t\tY(x)Verdadero\tY(x)Euler \tEt(%)"<<endl;

//Ciclo for para el desarrollo del metodo y que va imprimiendo los valores

for(int i=0;i<=L;i++){

y[0]=1;

f[i]=-(2*(pow((x0+(h*i)),3)))+(12*(pow((x0+(h*i)),2)))-(20*(x0+(h*i)))+8.5;
y[i+1]=y[i]+(f[i]*h);

yv[i]=-(0.5*pow((x0+(h*i)),4))+(4*pow((x0+(h*i)),3))-(10*pow((x0+(h*i)),2))+(8.5*(x0+(h*i)))+1;

et=((yv[i]-y[i])/yv[i])*100;

cout<<"\n"<<setiosflags(ios::fixed)<<x0+(h*i)<<"\t"<<yv[i]<<"\t"<<y[i]<<"\t"<<et;

cout<<endl<<endl;

system("PAUSE");

return EXIT_SUCCESS;

}
 PANTALLA DE SALIDA

En esta pantalla podemos ver que se ingresaron los datos que nos da nuestro
problema

Posteriormente observamos los cálculos realizados por el método de Euler, aquí


tenemos cuatro columnas con sus datos correspondientes, si comparamos los datos
obtenidos en el programa con los que resolvimos analíticamente observaremos que
son los mismos resultados.

 CONCLUSIONES

1. Machuca Gómez Nayelli: El método de Euler es un método que al


menos yo considero fácil y rápido de realizar quizás lo que llega a complicarlo
algo es que es un poco laborioso al igual que debemos tener cuidado con los
datos porque si nos equivocamos en algo todo el trabajo estará mal , en la
realización de este trabajo se reforzó los que se vio en clases

2. Salgado Angel Humberto: Su desarrollo se basa en el numero de


intervalos obtenidos por el valor del intervalo que le asigne el usuario
y correspondiente entre los limites de los puntos que se encuentra para
obtenerla. En si el método es fascinante ya que su procedimiento como
dije antes es muy poco a comparación del otro método visto en clase pero
tiene un detalle su margen de error es muy grande dependiendo al valor del
intervalo que se encuentre, mientras más pequeño sea el valor del intervalo
más exacto será la aproximación al valor verdadero de la función.

3. Hidalgo Jiménez Sebastián: Las formulas ocupadas en este método


pueden ser muy sencillas pero si el intervalo que se proponga para los
extremos de la función es demasiado grande serán pocos las operaciones
que se desarrollen mientras que si el intervalo es demasiado pequeño
su gran cantidad de operaciones serán muchos y eso complicaría mucho
la existencia del usuario pero estarían mas exactos los resultados con un
mínima casi inexistente de error.
 REFERENCIAS

 [Link]
0m%C3%A9todo%20de%20Euler%20es%20un%20m%C3%A9todo
%20de%20primer%20orden,para%20construir%20m%C3%A9todos
%20m%C3%A1s%20complejos.

 [Link]
program-code/6035057024434176

 [Link]
 [Link]
s%[Link]

 [Link]

 [Link]
%[Link]
ESCUELA SUPERIOR DE INGENIERIA MECANICA Y ELECTRICA
(UNIDAD ZACATENCO)

MÉTODO
DE RUNGE KUTTA

INGENIERIA ELECTRICA
MÉTODOS NUMÉRICOS - GRUPO:3EM2
PROFESOR: MANUEL TORRES SABINO
INTEGRANTES:
HIDALGO JIMÉNEZ SEBASTIÁN
MACHUCA GÓMEZ NAYELLI
SALGADO ANGEL HUMBERTO
 METODO DE RUNGE KUTTA

 OBJETIVO:

El objetivo de los métodos numéricos de runge-kutta, es el análisis y solución de los


problemas de valor inicial de ecuaciones diferenciales ordinarias (EDO), estos son
una extensión del método de euler para resolver las (EDO’S), pero con un orden de
exactitud más alto que este.

 MARCO TEORICO:
Uno de los métodos más utilizados para resolver numéricamente problemas de
ecuaciones diferenciales ordinarias con condiciones iniciales es el método
de Runge-Kutta de cuarto orden, el cual proporciona un pequeño margen de error
con respecto a la solución real del problema y es fácilmente programable en un
software para realizar las iteraciones necesarias.
El método de Runge-Kutta se utiliza para resolver ecuaciones diferenciales de la
forma explícita:

O en su forma Explícita:

Y es sumamente útil para casos en los que la solución no puede hallarse por los
métodos convencionales (como separación de variables). Hay variaciones en el
método de Runge-Kutta de cuarto orden pero el más utilizado es el método en el
cual se elige un tamaño de paso h y un número máximo de iteraciones n.

El método Runge- Kutta para este problema está dado por la siguiente ecuación:
Para i=0,…, n-1. La solución se da a lo largo del intervalo (xo,xo+hn) , Donde

Así, siguiente valor (yi+1) es determinado por el presente valor (yi) más el producto
del tamaño del intervalo (h) por una pendiente estimada. La pendiente un promedio
ponderado de pendientes:

 k1 es la pendiente al principio del intervalo.


 k2 es la pendiente en el punto medio del intervalo, usando k1 para determinar
el valor de y en el punto xi + h/2.
 k3 es otra vez la pendiente del punto medio, pero ahora usando k2 para
determinar el valor de y
 k4 es la pendiente al final del intervalo, con el valor de y determinado por k3

Promediando las cuatro pendientes, se le asigna mayor peso a las pendientes en el


punto medio:

Ejemplo
Usar el método de Runge Kutta para aproximar dada la siguiente ecuación
diferencial:
Primero, identificamos las condiciones iniciales, el intervalo y la función:

Para poder calcular el valor de y1 , debemos calcular primeros los valores de k1 ,k2
,k3 y k4 . Tenemos entonces que para la primera iteración:
El proceso debe repetirse hasta y5 . Por lo que en la siguiente tabla se presentan los
datos obtenidos del proceso realizado hasta este número

De esta manera, concluimos que el valor obtenido de Runge-Kutta es:

y(0.5)= 1.28403

De esta manera, por integración directa

Finalmente evaluando en y(0.5 ), obtenemos:


 SISTEMA A RESOLVER

Con el método de RK integre numéricamente la ecuación:


𝑑𝑥
= −2𝑥 3 + 2𝑥 2 − 20 + 8.5
𝑑𝑦
desde x=0 a x= 2 con un h=0.25, la condición inicial en x=0 es y=1, la condición
exacta es
𝑦 = −0.5𝑥 4 + 4𝑥 3 − 10𝑥 2 + 8.5 + 1

I=0 { 𝑦0 + 1/6[𝑘1 + 2𝑘2 + 2𝑘3 + 𝑘4]ℎ


K1= 𝑓(𝑥0, 𝑦0) = 𝑓(0,1) = 8.5
1 1
K2= 𝑓 (𝑥0 + 2 ℎ, 𝑦0 + 2 𝑘1ℎ) = 𝑓(0.125,2.0625) = 6.183594
1 1
K3= 𝑓 (𝑥0 + 2 ℎ, 𝑦0 + 2 𝑘1ℎ) = 𝑓(0.125,1.772949) = 6.183594

K4= 𝑓(𝑥0 + ℎ, 𝑦0 + 𝑘3ℎ) = 𝑓(0.25,2.545849) = 4.21875


𝑦(0.25) = 𝑦𝑖 = 2.500547

I=1 { 𝑦1 + 1/6[𝑘1 + 2𝑘2 + 2𝑘3 + 𝑘4]ℎ


K1= 𝑓(𝑥1, 𝑦1) = 𝑓(0.25,2.500547) = 4.21875
1 1
K2= 𝑓 (𝑥1 + 2 ℎ, 𝑦1 + 2 𝑘1ℎ) = 𝑓(0.375,3.08789) = 2.582031
1 1
K3= 𝑓 (𝑥1 + 2 ℎ, 𝑦1 + 2 𝑘1ℎ) = 𝑓(0.375,2.883311) = 2.582031

K4= 𝑓(𝑥1 + ℎ, 𝑦1 + 𝑘3ℎ) = 𝑓(0.5,3.206055) = 1.25


𝑦(0.5) = 𝑦2 = 3.218750

I=2 { 𝑦2 + 1/6[𝑘1 + 2𝑘2 + 2𝑘3 + 𝑘4]ℎ


K1= 𝑓 (𝑥2, 𝑦2) = 𝑓 (0.5,3.218750) = 1.25
1 1
K2= 𝑓 (𝑥2 + 2 ℎ, 𝑦2 + 2 𝑘1ℎ) = 𝑓(0.625,3.375) = 0.199219
1 1
K3= 𝑓 (𝑥2 + 2 ℎ, 𝑦2 + 2 𝑘1ℎ) = 𝑓(0.625,3.243652) = 0.199219

K4= 𝑓(𝑥2 + ℎ, 𝑦2 + 𝑘3ℎ) = 𝑓(0.75,3.268555) = −0.59375


𝑦(0.75) = 𝑦3 = 3.279297

I=3 { 𝑦3 + 1/6[𝑘1 + 2𝑘2 + 2𝑘3 + 𝑘4]ℎ


K1= 𝑓(𝑥3, 𝑦3) = 𝑓(0.75,3.279297) = −0.59375
1 1
K2= 𝑓 (𝑥3 + 2 ℎ, 𝑦3 + 2 𝑘1ℎ) = 𝑓(0.875,3.205078) = −1.152344
1 1
K3= 𝑓 (𝑥3 + 2 ℎ, 𝑦3 + 2 𝑘1ℎ) = 𝑓(0.875,3.135254) = −1.152344

K4= 𝑓(𝑥3 + ℎ, 𝑦3 + 𝑘3ℎ) = 𝑓(1,2.99121) = −1.5


𝑦(1) = 𝑦4 = 3.000000

I=4 { 𝑦4 + 1/6[𝑘1 + 2𝑘2 + 2𝑘3 + 𝑘4]ℎ


K1= 𝑓(𝑥4, 𝑦4) = 𝑓(1,3) = −1.5
1 1
K2= 𝑓 (𝑥4 + 2 ℎ, 𝑦4 + 2 𝑘1ℎ) = 𝑓(1.125,2.8125) = −1.660156
1 1
K3= 𝑓 (𝑥4 + 2 ℎ, 𝑦4 + 2 𝑘1ℎ) = 𝑓(1.125,2.792480) = −1.660156

K4= 𝑓(𝑥4 + ℎ, 𝑦4 + 𝑘3ℎ) = 𝑓(1.25,2.584961) = −1.5625


𝑦(1.25) = 𝑦5 = 2.591797

I=5 { 𝑦5 + 1/6[𝑘1 + 2𝑘2 + 2𝑘3 + 𝑘4]ℎ


K1= 𝑓(𝑥5, 𝑦5) = 𝑓(1.25,2.591794) = −1.65625
1 1
K2= 𝑓 (𝑥5 + 2 ℎ, 𝑦5 + 2 𝑘1ℎ) = 𝑓(1.375,2.384766) = −1.511719
1 1
K3= 𝑓 (𝑥5 + 2 ℎ, 𝑦5 + 2 𝑘1ℎ) = 𝑓(1.375,2.465820) = −1.511719

K4= 𝑓(𝑥5 + ℎ, 𝑦5 + 𝑘3ℎ) = 𝑓(1.5,2.43867) = −1.25


𝑦(1.5) = 𝑦6 = 2.218750

I=6 { 𝑦6 + 1/6[𝑘1 + 2𝑘2 + 2𝑘3 + 𝑘4]ℎ


K1= 𝑓(𝑥6, 𝑦6) = 𝑓(1.5,2.218750) = −1.25
1 1
K2= 𝑓 (𝑥6 + 2 ℎ, 𝑦6 + 2 𝑘1ℎ) = 𝑓(1.625,2.062500) = −0.894531
1 1
K3= 𝑓 (𝑥6 + 2 ℎ, 𝑦6 + 2 𝑘1ℎ) = 𝑓(1.625,2.106934) = −0.894531

K4= 𝑓(𝑥6 + ℎ, 𝑦6 + 𝑘3ℎ) = 𝑓(1.75,1.995117) = −0.46875


𝑦(1.75) = 𝑦7 = 1.998047

I=7 { 𝑦7 + 1/6[𝑘1 + 2𝑘2 + 2𝑘3 + 𝑘4]ℎ


K1= 𝑓(𝑥7, 𝑦7) = 𝑓(1.75,1.998047) = −0.46875
1 1
K2= 𝑓 (𝑥7 + 2 ℎ, 𝑦7 + 2 𝑘1ℎ) = 𝑓(1.875,1.939453) = 0.003906
1 1
K3= 𝑓 (𝑥7 + 2 ℎ, 𝑦7 + 2 𝑘1ℎ) = 𝑓(1.875,1.998535) = 0.003906

K4= 𝑓(𝑥7 + ℎ, 𝑦7 + 𝑘3ℎ) = 𝑓(2,1.992024) = 0.5


𝑦(2) = 𝑦8 = 2

x Y(x) verdadera Y(x) Rk %


0 1.000000 1.000000 0
0.25 2.560547 2.560547 0
0.5 3.218750 3.218750 0
0.75 3.279297 3.279297 0
1 3.000000 3.000000 0
1.25 2.591797 2.591797 0
1.5 2.218750 2.218750 0
1.75 1.998047 1.998047 0
2 2.000000 2.000000 0

La curva de la solución verdadera es continua y la aproximación de la segunda


curva se hace segmentos de la línea teniendo un % de 0
 ALGORITMO

Rutina para tomar un paso de salida


SUB Integrator (x, y, n, h, xend)
DO
IF (xend – x < h) THEN h = xend – x
CALL RK4 (x, y, n, h)
IF (x > xend) EXIT
END DO
END SUB
c) Método RK de cuarto orden para un sistema
de EDO
SUB RK4(x, y, n, h)
CALL Derivs (x, y, k1)
DOFOR i = 1, n
ymi = yi + k1i * h/2
END DO
CALL Derivs (x + h / 2, ym, k2)
DOFOR i = 1, n
ymi = yi + k2i * h / 2
END DO
CALL Derivs (x + h / 2, ym, k3)
DOFOR i = 1, n
yei = yi + k3i * h
END DO
CALL Derivs (x + h, ye, k4)
DOFOR i = 1, n
slopei = (k1i + 2*(k2i+k3i)+k4i)/6
yi = yi + slopei * h
END DO
x=x+h
END SUB
d) Rutina para determinar derivadas
SUB Derivs (x, y, dy)
dy1 = ...
dy2 = ...
END SU
 CODIGO
#include<stdio.h>

#include<math.h>

double f(double x, double y){

return -(2 * pow(x,3))+(12 * pow(x,2))-(20 * x) + (8.5);

double euler(double f(double x, double y), double x0, double y0, double x, double h){

double y;

while(fabs(x-x0)>0.0000000001){

y=y0+h*f(x0,y0);

y0=y;

x0=x0+h;

return y;

double RK1(double f(double x, double y), double x0, double y0, double x, double h){

double y,k1,k2;

while(fabs(x-x0)>0.0000000001){

k1=h*f(x0,y0);

k2=h*f(x0+h/2.0,y0+k1/2.0);

y=y0+k2;

y0=y;

x0=x0+h;

return y;

double RK2(double f(double x, double y), double x0, double y0, double x, double h){

double y,k1,k2,k3,k4;

while(fabs(x-x0)>0.0000000001){

k1=h*f(x0,y0);
k2=h*f(x0+h/2.0,y0+k1/2.0);

k3=h*f(x0+h/2.0,y0+k2/2.0);

k4=h*f(x0+h,y0+k3);

y=y0+1/6.0*(k1+2*k2+2*k3+k4);

y0=y;

x0=x0+h;

return y;

main(){

double x0,y0,x,y,h;

printf("Ingrese el valor inicial de Y & X:\nx0 = ");

scanf("%lf",&x0);

printf("y0 = ");

scanf("%lf",&y0);

printf("Ingrese los pasos:\nh = ");

scanf("%lf",&h);

printf("x\t\tEuler(y)\tRK1(y)\t\tRK2(y)\n");

printf("______________________________________________________\n");

for(x=0;x<=2;x=x+0.25){

printf("%lf\t",x);

y=euler(f,x0,y0,x,h);

printf("%lf\t",y);

//printf("%lf\t%lf\t%lf\t%lf\n",x0,y0,x,h);

y=RK1(f,x0,y0,x,h);

printf("%lf\t",y);

y=RK2(f,x0,y0,x,h);

printf("%lf\n",y);

}
 PANTALLA DE SALIDA

El código da como pantalla de salida lo que se obtiene en el sistema a resolver del


mismo métodos en donde coinciden todos los valores y por ende las soluciones son
correctas, además de estar incluido el método de RK de orden 1 y el de Euler, siendo
un código para calcular alrededor de 3 formas distintas pero con la misma función
 CONCLUSIONES

Salgado Angel Humberto


Es el método más utilizado para resolver numéricamente problemas de ecuaciones
diferenciales ordinarias con condiciones iniciales es el método de Runge-Kutte, el
cual proporciona un pequeño margen de error con respecto a la solución real del
problema y es fácilmente programable en un software para realizar iteraciones
[Link] dominio de los métodos numéricos, en combinación con las
capacidades y potencialidades de la programación de computadoras resuelve
problemas de ingeniería de manera más fácil y eficientemente.
Machuca Gómez Nayelli:La resolución de ecuaciones diferenciales de
forma numérica es una herramienta útil para encontrar la solución de un sistema
dinámico representado por ese tipo de expresiones matemáticas, es un método fácil
y sencillo de utilizar para resolver problemas de ecuaciones diferenciales para La
efectividad o exactitud del método consiste en saber escoger un buen incremento

Hidalgo Jiménez Sebastián


La familia de técnicas del método Runge Kutta nos permite elegir la relación de
tiempo de cómputo y error de aproximación que se requiere. Mientras siquiera un
error pequeño, es necesario utilizar una técnica de orden mayor, aumenta el número
de ecuaciones y, a su vez, aumenta el tiempo de computadora para resolver el
algoritmo
 REFERENCIAS

 [Link]
 [Link]
%89TODO%20DE%20RUNGE-KUTTA..pdf?sequence=8&isAllowed=y
 [Link]
es
 [Link]
numerico-de-runge-kutta/
 [Link]
 [Link]

También podría gustarte