Está en la página 1de 12

Instituto Politécnico Nacional

Escuela Superior de ingeniería Mecánica y eléctrica


Ingeniería en Comunicaciones y Electrónica

Practica No. 2

Alumno: Resendis Morales Ismael

Boleta: 2020300884

Grupo: 4CV14

Materia: Análisis numérico

Profesor: Felipe Calzada Serafín


Objetivo
Realizar un programa combine el método de Simpson de 1/3 y el método de Simpson de 3/8 para
aproximarnos al resultado de la integración de la función
F(x)= 0.2 + 25x - 200x^2 + 675x^3 - 900x^4 + 400x^5
Índice
Introducción teórica ------------------------------------------------------------------------------ 1
Codificación del programa ---------------------------------------------------------------------- 2
Corrida de prueba --------------------------------------------------------------------------------- 7
Introducción teórica

La integración numérica mediante el método de Simpson es una técnica utilizada para aproximar el
valor de una integral definida. Este método se basa en la interpolación de una función mediante
polinomios de segundo grado y luego integra esos polinomios para obtener una aproximación del
área bajo la curva.
El método de Simpson utiliza la idea de dividir el intervalo de integración en subintervalos más
pequeños y luego aplica una fórmula específica para cada subintervalo.
Hay dos variantes comunes del método de Simpson: la regla de Simpson 1/3 y la regla de Simpson
3/8. Ambas se basan en la misma idea básica de dividir el intervalo de integración en subintervalos
y aproximar la integral mediante polinomios de segundo grado.
Regla de Simpson 1/3:
En la regla de Simpson 1/3, el intervalo de integración se divide en subintervalos de igual tamaño, y
se aplica la fórmula de Simpson para cada uno de estos subintervalos. La fórmula general para la
regla de Simpson 1/3 es la siguiente:
∫[a,b] f(x) dx ≈ (h/3) * [f(a) + 4f(a+h) + 2f(a+2h) + 4f(a+3h) + ... + 2f(b-h) + 4f(b-h) + f(b)]
Aquí, h es el tamaño de cada subintervalo, que se calcula como h = (b - a) / n, donde n es el número
de subintervalos. En la regla de Simpson 1/3, n debe ser un número par para que el método funcione
correctamente.
Regla de Simpson 3/8:
En la regla de Simpson 3/8, el intervalo de integración también se divide en subintervalos de igual
tamaño, pero se utiliza una fórmula ligeramente diferente. La fórmula general para la regla de
Simpson 3/8 es la siguiente:
∫[a,b] f(x) dx ≈ (3h/8) * [f(a) + 3f(a+h) + 3f(a+2h) + f(a+3h) + ... + 3f(b-h) + f(b)]
Al igual que en la regla de Simpson 1/3, h es el tamaño de cada subintervalo, calculado como h = (b
- a) / n, donde n es el número de subintervalos. En la regla de Simpson 3/8, n debe ser un múltiplo
de 3 para que el método funcione correctamente.
Ambas reglas de Simpson son métodos de integración numérica que ofrecen aproximaciones más
precisas que la regla del trapecio, especialmente cuando se utilizan intervalos pequeños y funciones
suaves. La elección entre la regla de Simpson 1/3 y la regla de Simpson 3/8 dependerá de las
necesidades específicas del problema y de si el número de subintervalos es par o múltiplo de 3.
Codificación del programa
Caratula.h
#include<stdlib.h>
#include<iostream>
#include <time.h>
using namespace std;
void caratula(int num){
cout<<"\n\n\n\n**********************************"<<endl;
cout<<"Instituto politeccnico nacional"<<endl;
cout<<"Escuela Superior de Ingenieria Mecanica y Electrica"<<endl;
cout<<"Ingenieria en comunicaciones y electronica"<<endl;
cout<<"Materia: Analisis Numero"<<endl;
cout<<"Profesor: Felipe Calzada Serafin"<<endl;
cout<<"Alumno: Resendis Morales Ismael"<<endl;
cout<<"Grupo: 4CV14"<<endl;
cout<<"Boleta: 2020300884"<<endl;
cout<<"Practica numero "<<num<<endl;

time_t now;
time(&now);

cout<< ctime(&now);
cout<<"**********************************\n\n"<<endl;
}
Practica2.cpp
#include <iostream>
#include <conio.h>
#include <cmath>
#include<C:\Users\ismae\Documents\Escuela\Analisis Numerico\Caratula.h>

using namespace std;

double funcion(double x)
{
double F;
F=(0.2 + (25 * x) -(200 * pow(x,2)) + (675 * pow(x,3)) -(900 * pow(x,4)) + (400*pow(x,5)));
return F;
}
main ()
{
caratula(2);
system("Pause");
system("cls");
int N, i;

float AREA, S1, S2,A, B, x2, AREA1, AREA2;


float H;
float vv=1.64053334;

cout << " \n\n\t\t METODO DE SIMPSON " <<endl;


cout << "\n\nEncuentre la integral de la funcion: \nF(x)= 0.2 + 25x - 200x^2 + 675x^3 -
900x^4 + 400x^5";
cout << " \n\n Ingrese el numero de segmentos: ";
cin >> N;
float x[N],fx[N];
cout << " \n Ingrese el limite inferior: ";
cin >> A;
cout << " \n Ingrese el limite superior ";
cin >> B;

x[0]=A;
x[N]=B;
fx[0]=funcion(A);
fx[N]=funcion(B);

S1=0;
S2=0;
H=(B-A)/N;

cout << endl << "\nH = " << H;

if (N % 2 == 0)
{
for(int i = 1;i<N;i++)
{
x[i]=x[i-1]+H;
fx[i]=funcion(x[i]);
if(i % 2 == 0)
{
S1 += fx[i];
}
else
{
S2 += fx[i];
}
}
AREA = (B-A)*((fx[0]+(4*S2)+(2*S1)+fx[N])/(3*N));
cout<<"El area es: "<<AREA<<endl;
}
else
{
for(int i = 1;i<N;i++)
{
x[i]=x[i-1]+H;
fx[i]=funcion(x[i]);
}
for(int i = 4;i<N;i++)
{
if(i % 2 == 0)
{
S1 += fx[i];
}
else
{
S2 += fx[i];
}
}
AREA1=(x[3]-A)*((fx[0]+(3*fx[1])+(3*fx[2])+fx[3])/8);
float a,b;
a = (B-x[3]);
b =( (fx[3]+(4*S1)+(2*S2)+fx[N]) / (3*(N-3)) );
//cout<<"\n a= "<<a<<endl;
//cout<<"\n b= "<<b<<endl;
//cout<<fx[3]<<"\n"<<S2<<"\n"<<S1<<"\n"<<fx[N]<<"\n";
AREA2=a*b;

AREA=AREA1 + AREA2;
cout<<"\n\nEl area por metodo de 3/8 de simpson es:"<<AREA1<<endl;
cout<<"\n\nEl area por metodo de 1/8 de simpson es:"<<AREA2<<endl;
cout<<"\n\nEl area total es:"<<AREA<<endl;
}

cout<<"\n\n\nConsiderando que el valor verdadero es:"<<vv<<endl;


cout<<"El error verdadero es:"<<abs(vv-AREA)<<endl;
cout<<"El error verdadero proximado porcentual
es:"<<abs(((vv-AREA)/vv)*100)<<"%"<<endl;
}
Corrida de prueba
Bibliografía
http://blog.espol.edu.ec/analisisnumerico/regla-de-simpson-3-8/
https://multimedia.uned.ac.cr/pem/metodos_numericos_ensenanza/glosario/mod4.html
http://www3.fi.mdp.edu.ar/metodos/apuntes/simpson.pdf

También podría gustarte