Está en la página 1de 12

Universidad Tecnológica de Panamá

Centro regional de Azuero


Facultad de ingeniería eléctrica
Ingeniería electromecánica

Proyecto Final

Métodos Numéricos

Grupo N2

Estudiantes:
Alejandro Pinto
Víctor González
Emmanuel González
Rubén Bazán

Segundo semestre 2022


Introducción

Métodos de RungeKutta y Simpson.


Los métodos de Runge-Kutta (RK) son un conjunto de métodos iterativos (implícitos y
explícitos) para la aproximación de soluciones de ecuaciones diferenciales ordinarias,
concretamente, del problema de valor inicial. , los esquemas son explícitos.
La regla de Simpson es un método que calcula una integral definida al calcular el área de
solapamiento de segmentos parabólicos en el intervalo de integración y luego sumándolos.

Este proyecto trata de escribir un código con el lenguaje de c++ para un programa que
pueda calcular soluciones y dar una respuesta utilizando los métodos mencionados.
Código del programa

#include<iostream>
#include <conio.h>
#include <math.h>
#define f(x,y) (y*y-x*x)/(y*y+x*x)

using namespace std;

int main()
{
cout<<" Universidad tecnologica de Panama \n Centro regional de Azuero \n
Facultad de ingeneria electrica\n";
cout<<" Proyecto final de Metodos Numericos \n Grupo N2";
cout<<"\n ---------------------------------------------------";
cout << "\n\nIngrese la Opcion a ejecutar \n a para el metodo de RungeKutta \n b para el
metodo de Simpson \n c para salir \n [ ";
char opcion;
cin >> opcion;

switch(opcion)
{
case 'a': cout << "------Usted ha seleccionado el metodo de RungeKutta--------";
{
float x0, y0, xn, h, yn, k1, k2, k3, k4, k;
int i, n;

cout<<"\n **Introduzca la condicion inicial**"<< endl;


cout<<"x0 = ";
cin>> x0;
cout<<"y0 = ";
cin >> y0;
cout<<"Introduzca el punto de calculo xn = ";
cin>>xn;
cout<<"Introdusca el numero de pasos: ";
cin>> n;

h = (xn-x0)/n;

cout<<"\nx0\ty0\tyn\n";
cout<<"------------------\n";
for(i=0; i < n; i++)
{
k1 = h * (f(x0, y0));
k2 = h * (f((x0+h/2), (y0+k1/2)));
k3 = h * (f((x0+h/2), (y0+k2/2)));
k4 = h * (f((x0+h), (y0+k3)));
k = (k1+2*k2+2*k3+k4)/6;
yn = y0 + k;
cout<< x0<<"\t"<< y0<<"\t"<< yn<< endl;
x0 = x0+h;
y0 = yn;
}

cout<<"\nValor de y en x = "<< xn<< " es " << yn;

return 0;
}
break;

case 'b': cout << "Usted ha seleccionado el metodo de Simpson";


{
cout<<"\n-----------------------------------------";
cout<<"\nSeleccione el metodo de Simpson que desea utilizar \n 1 para
Simpson 1/3 \n 2 para Simpson 3/8 \n 3 para Simpson 1/3+3/8 \n=" ;
char opcion;
cin>>opcion;
switch(opcion)
{
case '1': cout <<"Metodo Simpson 1/3";
double a, b, h, x1, x2, fx1, fx2, fa, fb, w;
int main();
{
cout<<"\n Introduzca el primer valor: "; cin>>a;
cout<<"Introduzca el segundo valor: "; cin>>b;
h=(b-a)/2;
x1=a+b;
fa=exp(-1*pow(a,2));
fb=exp(-1*pow(b,2));
fx1=exp(-1*pow(x1,2));
w=(h/3)*(fa+(4*fx1)+fb);
cout<<"El resultado es: "<< w;
}
break;
case '2': cout<<"\n Metodo Simpson 3/8";
int main();
{
cout<<"\n Introduzca el primer valor: "; cin>>a;
cout<<"Introduzca el segundo valor: "; cin>>b;
h=(b-a)/3;
x1=h+a;
x2=h+x1;
fa=exp(-1*pow(a,2));
fb=exp(-1*pow(b,2));
fx1=exp(-1*pow(x1,2));
fx2=exp(-1*pow(x2,2));
w=((3*h/8))*(fa+(3*fx1)+fb);
cout<<"El resultado es: "<<w<<endl;
}
break;
case '3':cout<<"\n Metodo Simpson 1/3+3/8";
int main();
cout<<"\n Introduzca el primer valor: "; cin>>a;
cout<<"Introduzca el segundo valor: "; cin>>b;
h=(b-a)/2;
x1=a+b;
x2=h+x1;
fa=exp(-1*pow(a,2));
fb=exp(-1*pow(b,2));
fx1=exp(-1*pow(x1,2));
fx2=exp(-1*pow(x2,2));
w=((h/3)*(fa+(4*fx1)+fb))+((3*h/8))*(fa+(3*fx1)+fb);
cout<<"El resultado es: "<<w<<endl;
}
break;

}
break;
case 'c':cout<<"Finalizando programa";
return 0;
}
return 0;
}
Explicación del programa
Este programa funciona utilizando switch (herramienta de selección de opciones) y
fórmulas de cálculos matemáticos, en el vemos opción para cada método (RungeKutta y
Simpson) y otra opción para salir del programa de así quererlo.
De seleccionar la opción de RungeKutta, el programa procede a solicitar dígitos para las
variables y el numero te iteraciones, y procede a realizar los cálculos y dar una respuesta y
este finaliza.
De seleccionar la opción de Simpson, el programa procede a dar otras 3 opciones utilizando
otro switch para dar a escoger cual de las 3 formas de Simpson se desea resolver, luego de
escogerla el programa procede a solicitar dígitos, realizar cálculos y dar una respuesta y
este finaliza.
De escoger la opción de salir, el programa simplemente finaliza
Programa en ejecución
Aquí podemos observar el programa en funcionamiento, con opción a escoger cualquier
método y luego cualquiera de las 3 formas de resolver el método de Simpson.
Fuentes:

Información proporcionada por la profesora acerca de estos métodos, y clases previas.


Conocimientos previos de programación

También podría gustarte