Top Banner
E.A.P DE INGENIERIA INDUSTRIAL FACULTAD DE INGENIERIA INDUSTRIAL Y SISTEMAS UNIVERSIDAD NACIONAL HERMILIO VALDIZAN METODOS NUMÉRICOS Docente : Ing. Marco Villavicencio Tema : Método Trapezoidal de Integración Alumnos : Chávez Villanueva Lincoln Andrés
17

Metodo Trapezoidal en C++

Nov 12, 2014

Download

Documents

Métodos Númericos con C++
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Metodo Trapezoidal en C++

E.A.P DE INGENIERIA INDUSTRIAL

FACULTAD DE INGENIERIA INDUSTRIAL Y SISTEMAS

UNIVERSIDAD NACIONAL HERMILIO VALDIZAN

METODOS NUMÉRICOS

Docente : Ing. Marco Villavicencio

Tema : Método Trapezoidal de Integración

Alumnos :

Chávez Villanueva Lincoln Andrés

Page 2: Metodo Trapezoidal en C++

ALGORITMO DE TRABAJO

Definición del Problema

Recopilación de Datos

Modelo Matemático

Trabajo Manual

Diagrama de Flujo ( programación)

Experimentación (Grupo)

Interpretación

Resultados de la Integración

Page 3: Metodo Trapezoidal en C++

DEFINICION DEL PROBLEMA

El desarrollo de las integrales siempre es un problema debido a la complejidad de las funciones a integrar es por ello que se realizan software de aplicación en este campo mediante varios métodos , uno de ellos es el método trapezoidal que es simple de utilizar.

En este caso que se tienen tres funciones a integrar probaremos su legitimidad primero manualmente y luego mediante un software el cual lo realizamos mediante el programa visual C++ que presentaremos mas adelante.

Page 4: Metodo Trapezoidal en C++

Recopilación de datos

A) INTEGRAL( SEN(X)/SQRT(1+X^4),DE 0 A 1 ;N=10B) INTEGRAL( TAN(X-1)/Ln(X+1.5),DE 0 A 25 ;N=16C) INTEGRAL( (€^-X^2)/(1+SQRT(X)),DE 0 A 1 ;N=10

Las funciones a integrar son las siguientes:

* N=numero de iteraciones

•€=exponencial

•* sqrt = raiz cuadrada

Page 5: Metodo Trapezoidal en C++

MODELO MATEMATICO

A) INTEGRAL( SEN(X)/SQRT(1+X^4),DE 0 A 1 ;N=10

*La primera integral a evaluar con el método trapezoidal para el cual se necesita ciertos valores adicionales que son :

A=0

B=1

N=10

H=(b-a)/N=(1-0)/10=0.1

Page 6: Metodo Trapezoidal en C++

CUADRO DE RESULTADOS DE LA 1ª INTEGRAL

ii XiXi F(xi)F(xi) && &*F(xi)&*F(xi)

00 00 00 0.50.5 00

11 0.10.1 0.09980.0998 11 0.09980.0998

22 0.20.2 0.19850.1985 11 0.19850.1985

33 0.30.3 0.29430.2943 11 0.29430.2943

44 0.40.4 0.38470.3847 11 0.38470.3847

55 0.50.5 0.46620.4662 11 0.46620.4662

66 0.60.6 0.53500.5350 11 0.53500.5350

77 0.70.7 0.58800.5880 11 0.58800.5880

88 0.80.8 0.62390.6239 11 0.62390.6239

99 0.90.9 0.64370.6437 11 0.64370.6437

1010 11 0.64960.6496 0.50.5 0.32480.3248

Page 7: Metodo Trapezoidal en C++

Resultados de la Primera Integral

INTEGRAL =SUMA*H

INTEGRAL =4.1589*0.1=0.41589

&*F (xi)=SUMA=4.1589

EL VALOR DE LA 1ª INTEGRAL ES 0.41589.

Page 8: Metodo Trapezoidal en C++

*La segunda integral a evaluar con el método trapezoidal para el cual se necesita ciertos valores adicionales que son :

A=0

B=25

N=16

H=(b-a)/N=(25-0)/16=1.5625

B) INTEGRAL( TAN(X-1)/Ln(X+1.5),DE 0 A 25 ;N=16

Page 9: Metodo Trapezoidal en C++

CUADRO DE RESUTADOS DE LA SEGUNDA INTEGRALCUADRO DE RESUTADOS DE LA SEGUNDA INTEGRAL

ii XiXi F(xi)F(xi) && &*F(xi)&*F(xi)

00 00 0.80080.8008 0.50.5 0.40040.4004

11 1.5251.525 0.54960.5496 11 0.54960.5496

22 3.1253.125 5.39595.3959 11 5.39595.3959

33 4.68754.6875 -2.057-2.057 11 -2.057-2.057

44 6.256.25 -0.651-0.651 11 -0.651-0.651

55 7.81257.8125 -0.088-0.088 11 -0.088-0.088

66 9.3759.375 0.38530.3853 11 0.38530.3853

77 10.937510.9375 1.03111.0311 11 1.03111.0311

88 12.512.5 2.69942.6994 11 2.69942.6994

99 14.062514.0625 -21.49-21.49 11 -21.49-21.49

1010 15.62515.625 -2.144-2.144 11 -2.144-2.144

Page 10: Metodo Trapezoidal en C++

II xixi F (xi)F (xi) && &*F(xi)&*F(xi)

1111 17.187517.1875 -0.939-0.939 11 -0.939-0.939

1212 18.7518.75 -0.402-0.402 11 -0.0402-0.0402

1313 20.312520.3125 -0.017-0.017 11 -0.017-0.017

1414 21.87521.875 0.3450.345 11 0.3540.354

1515 2.43752.4375 0.83010.8301 11 0.83010.8301

1616 2525 1.70461.7046 0.50.5 0.85230.8523

Page 11: Metodo Trapezoidal en C++

Resultados de la Segunda Integral

&*F (xi)=SUMA=-15.2899

INTEGRAL =SUMA*H

INTEGRAL =-15.2899*1.5625=-23.89046875

EL VALOR DE LA 2º INTEGRAL ES -23.89046875.

Page 12: Metodo Trapezoidal en C++

La tercera integral a evaluar con el método trapezoidal para el cual se necesita ciertos valores adicionales que son :

A=0

B=1

N=10

H=(b-a)/N=(1-0)/10=0.1C) INTEGRAL( (€^-X^2)/(1+SQRT(X)),DE 0 A 1 ;N=10

Page 13: Metodo Trapezoidal en C++

ii XiXi F(xi)F(xi) && &*F(xi)&*F(xi)

00 00 11 0.50.5 0.50.5

11 0.10.1 0.99240.9924 11 0.99240.9924

22 0.20.2 0.97270.9727 11 0.97270.9727

33 0.30.3 0.94350.9435 11 0.94350.9435

44 0.40.4 0.90660.9066 11 0.90660.9066

55 0.50.5 0.86370.8637 11 0.86370.8637

66 0.60.6 0.81630.8163 11 0.81630.8163

77 0.70.7 0.76580.7658 11 0.76580.7658

88 0.80.8 0.71330.7133 11 0.71330.7133

99 0.90.9 0.65990.6599 11 0.65990.6599

1010 11 0.60650.6065 0.50.5 0.303250.30325

CUADRO DE RESULTADOS DE LA 3ª INTEGRAL

Page 14: Metodo Trapezoidal en C++

Resultados de la Tercera Integral

&*F (xi)=SUMA=7.57375

INTEGRAL =SUMA*H

INTEGRAL =7.57375*0.1=0.757375

EL VALOR DE LA 3º INTEGRAL ES 0.757375

Page 15: Metodo Trapezoidal en C++

DIAGRAMA DE FLUJOINICIO

INGRESAR A, B Y N

DEFINIR F (X)

CONVERSION H=(B-A)/N

SUMA=0

i=0

X i=A+i*h

Evaluar F (x i)

i=0 i=N

no

si

F=0.5*F

si

SUMA=SUMA+F

no

i=i+1

I < N+1

Integral=suma*H

no si

LEER INTEGRAL

Page 16: Metodo Trapezoidal en C++

CODIFICACION EN C++#include<iostream.h>#include<math.h>void main(void){int N;double h,a,b,i,suma,F,xi,t;cout<<"METODO DE INTEGRACION TRAPEZOIDAL"<<endl<<endl<<endl;cout<<"LA FUNCION A INTEGRAR ES: SEN(X)/(1+X^4)^0.5 "<<endl<<endl<<endl;cout<<"INGRESE EL LIMITE INFERIOR DE LA INTEGRAL--(A): ";cin>>a;//LIMITE INFERIO DE LA INTEGRACIONcout<<"INGRESE EL LIMITE SUPERIOR DE LA INTEGRAL--(B): ";cin>>b;//LIMITE SUPERIO DE LA INTEGRACIONcout<<"INGRESE N: ";cin>>N;//ES EL NUMERO DE LAS ITERACIONESh=(b-a)/N;i=0;suma=0;for(i=0;i<=N;i++){ xi=a+i*h;

F=sin(xi)/sqrt(1+xi*xi*xi*xi);suma=suma+F;t=suma*h;}cout<<"los valores son : "<<endl ;cout<<"a= "<<a<<endl; // endl hace salto de lineacout<<"b= "<<b<<endl;cout<<"h= "<<h<<endl<<endl;cout<<"suma es: "<<suma<<endl<<endl<<endl;cout<<" LA INTEGRAL ES : "<<t<<endl;}

Page 17: Metodo Trapezoidal en C++

INTERPRETACION DE RESULTADOS

Los resultados obtenidos manualmente son similares al obtenido con el programa el cual se hace mas efectivo cuando el numero de iteraciones es mas alto no obstante la segunda integral no fue así de efectivo el método no sirvió para esta función debido a las cotas que presenta la función en ese largo recorrido .