integrales
hola necesito un programa en c++ que me resuelva integrales por favor alguna ayuda se agradece
// posiblemente el metodo del rectangulo.
// La evaluaci贸n de una integrales lo mismo que calcular el area de la
// inferior de la curva y se puede estimar esta cantidad sumando las
// areal de peque帽os rectangulo de altura y=f(x)y de ancho (x(n)-x(n-1))
// ac谩 te muestro un ejemplo:
#include <iostream.h>
#define N 0.00001
void main(){
double a,b,x,x1=0,y;
double base,altura,integral=0;
cout << "Limite inferior: ";
cin >> a;
cout << "Limite superior: ";
cin >> b;
for(x=a;x<=b;x+=N){
y=x*x; //funci贸n sobre la que se calcula la integral
altura=y;
base=x-x1;
integral+=(base*altura);
x1=x;
}
cout << "la integral vale: ";
cout << integral;
}
// Por supuesto que a medida que N es mas peque帽o la respuesta se hace
// mas exacta. por ejemplo: para la funcion de este programa (y=x*x)
// la integral entre 0 y 1 vale 1/3. para distintos valores de N el
// el error ser谩:
// N = 0.01 integral = 0.32835 error = 0.0049
// N = 0.001 integral = 0.332834 error = 0.00049
// N = 0.0001 integral = 0.333383 error = 0.000049
// podes hacer vos mismo las comprobaciones para ver que pasa si
// cambian alguno de los par谩metros del programa.
// La evaluaci贸n de una integrales lo mismo que calcular el area de la
// inferior de la curva y se puede estimar esta cantidad sumando las
// areal de peque帽os rectangulo de altura y=f(x)y de ancho (x(n)-x(n-1))
// ac谩 te muestro un ejemplo:
#include <iostream.h>
#define N 0.00001
void main(){
double a,b,x,x1=0,y;
double base,altura,integral=0;
cout << "Limite inferior: ";
cin >> a;
cout << "Limite superior: ";
cin >> b;
for(x=a;x<=b;x+=N){
y=x*x; //funci贸n sobre la que se calcula la integral
altura=y;
base=x-x1;
integral+=(base*altura);
x1=x;
}
cout << "la integral vale: ";
cout << integral;
}
// Por supuesto que a medida que N es mas peque帽o la respuesta se hace
// mas exacta. por ejemplo: para la funcion de este programa (y=x*x)
// la integral entre 0 y 1 vale 1/3. para distintos valores de N el
// el error ser谩:
// N = 0.01 integral = 0.32835 error = 0.0049
// N = 0.001 integral = 0.332834 error = 0.00049
// N = 0.0001 integral = 0.333383 error = 0.000049
// podes hacer vos mismo las comprobaciones para ver que pasa si
// cambian alguno de los par谩metros del programa.
Hola soy yo denuevo.
Descibri que el programa anterior tiene un sutil error que te puede llevar a grandes diferencias en el calculo. Aca te mando el programa modificado:
void main(){
double a,b,x,x1,y;
double base,altura,integral=0;
cout << "Limite inferior: ";
cin >> a;
cout << "Limite superior: ";
cin >> b;
x1=a;
for(x=a;x<=b;x+=N){
y=x*x; //funci贸n sobre la que se calcula la integral
altura=y;
base=x-x1;
integral+=(base*altura);
x1=x;
}
cout << "la integral vale: ";
cout << integral;
}
De todas formas este progama puede seguir mejorandose mucho.
suerte
Descibri que el programa anterior tiene un sutil error que te puede llevar a grandes diferencias en el calculo. Aca te mando el programa modificado:
void main(){
double a,b,x,x1,y;
double base,altura,integral=0;
cout << "Limite inferior: ";
cin >> a;
cout << "Limite superior: ";
cin >> b;
x1=a;
for(x=a;x<=b;x+=N){
y=x*x; //funci贸n sobre la que se calcula la integral
altura=y;
base=x-x1;
integral+=(base*altura);
x1=x;
}
cout << "la integral vale: ";
cout << integral;
}
De todas formas este progama puede seguir mejorandose mucho.
suerte
