ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Implementacion de teoria de huen en codigo C


Enviado por   •  29 de Abril de 2020  •  Informes  •  1.867 Palabras (8 Páginas)  •  226 Visitas

Página 1 de 8

SOLUCIÓN DE ECUACIONES DIFERENCIALES DE PRIMER ORDEN A PARTIR DEL MÉTODO DE HEUN

Daniel Steven Arias Otálora

    Gerson Julián Mellizo Leyton  

Facultad de Ingeniería, Univ. de la Salle, ZIP-110911 Bogotá, Colombia

Bogotá D.C., Colombia

Resumen: 

El laboratorio consiste en hallar la solución de la ecuación diferencial de primer orden dadas por medio del método de Heun, explicando su ecuación y comparando con la ecuación de Euler para encontrar las mejoras o cambios que se le hicieron, así como la ecuación de Euler a la de Heun se le representa en código en C Para ello se realizan cinco problemas cada uno con su ecuación diferencial y si tienen  una solución analítica se hará de las comparaciones de estos datos contra los datos de Heun y Euler así por medio de Excel, se le podrá graficar los datos obtenidos en programación C en el cual se determinara su error porcentual.

 

Abstact:  

INTRODUCCIÓN

Sobre el método de Euler, se generan diferentes mejoras, a partir de que dicho método se basa sobre la derivada del inicio de un intervalo, sin tener en cuenta otra consideración sobre este intervalo, por ello, se le realizan modificaciones al método de Euler para generar dichas consideraciones, como lo es el método de Heun. [1]

MARCO TEÓRICO

METODO DE HEUN

El método de Heun es un método numérico para evaluar ecuaciones diferenciales, para lo cual, se da uso de las consideraciones de derivadas de un intervalo, este a su vez, a diferencia del método de Euler (figura 1) considera los valores iniciales y finales de dicho intervalo de derivación, determinando a su vez, un promedio entre dicho valor para calcular el valor siguiente del método numérico, como se evidencia planteado en la figura 2. [2]

[pic 2]

Figura 1. Método numérico de Euler para ecuaciones diferenciales

[pic 3]

Figura 2. Método numérico de Heun.

Como se evidencia en dichas gráficas, se da a conocer una corrección sobre el método de Euler, con el cual se plantea una corrección al evaluar valores iniciales y finales sobre la derivada, varia el valor final de la pendiente. [3]

Dicho método, al basarse del método de Euler, genera una corrección sobre un valor, a partir de las siguientes ecuaciones. [4]

[pic 4]

[pic 5]

En la ecuación 1, se da a conocer el método de Euler, por el cual se basa la pendiente final de dicha derivada, la cual se opera en la ecuación 2, para determinar la corrección de la pendiente sobre el valor real. [5]

METODOLOGIA

Se va a generar un código en C, por el cual, se va a solucionar diferentes problemas de ecuaciones diferenciales de primer orden por el método de Euler y el método de Heun, generando su debida comparación con un modelo matemático, cuando este es posible, determinando una comparación entre los diferentes métodos.

RESULTADOS

Código general, para generar las comparaciones de dichos valores.

#include

#include

#include

float fun(float x,float y){

        return //función inicial

}

float fr(float xr){

        return //función analitica.

}

void main(int argc, char** argv) {

        int a=//cantidad de datos;

        float y[a];

        float yheum[a];

        float yr[a];

        float h=//interval de tiempo ;

        int i;

        float xini=//condicion inicial en x;

        float t=xini;

        y[0]=//condición inicial en y;

        yheum[0]=y[0];

        for (i=1;i

                y[i]=y[i-1]+(h*fun(xini,y[i-1]));

                yheum[i]=y[i-1]+h*(fun(xini,y[i-1])+(fun((xini+h),y[i])))*0.5;

                xini=xini+h;                

        }

        for (i=0;i

                yr[i]=fr((i*h+t));

                printf("%f \t %f \t %f \t %f \t %f",(t+i*h),y[i],yheum[i],yr[i],100*fabs(yheum[i]-yr[i])/yr[i]);

                printf("\n");

        }        

Para determinar el error porcentual entre los puntos, se da uso de la siguiente ecuación dentro del código.

[pic 6]

Las ecuaciones usadas en el código deben estár determinadas de la siguiente forma.

Ecuación diferencial.

[pic 7]

Ecuación analítica

[pic 8]

PROBLEMA 1.

Ecuación diferencial.

[pic 9]

Para determinar la ecuación analítica, se da uso de una ecuación lineal de primer orden obteniendo.

[pic 10]

La integral obtenida en el lado derecho de la ecuación no posee una solución matemática, por lo cual no se puede comparar dicha ecuación con un valor analítico.

Se determinó una tabla 1 correspondiente a el valor dado por Heun y Euler con h=0.5.

t

Euler y(t)

Heun y(t)

E (%)

0,000

1,000

1,000

0,000

0,500

1,500

1,313

12,500

1,000

1,625

1,406

13,462

1,500

1,313

1,227

6,548

2,000

0,828

0,906

9,434

2,500

0,500

0,602

20,313

3,000

0,375

0,406

8,333

3,500

0,313

0,320

2,500

4,000

0,266

0,273

2,941

4,500

0,234

0,236

0,833

5,000

0,207

0,212

2,358

...

Descargar como (para miembros actualizados)  txt (12 Kb)   pdf (363 Kb)   docx (854 Kb)  
Leer 7 páginas más »
Disponible sólo en Clubensayos.com