Programación en C++
Integral por método de trapecios
La función para el método del trapecio es la siguiente:
double
trapecio(float coeficientes[100], float limites[2], unsigned int iteraciones, unsigned int grado)
{
//Dx/2 * [f(x0)+2f(x1)+2f(x2)+...+2f(xn-1)+f(xn)]
double Dx, x,
resultado = 0, parte1 = 0, parte2 = 0, parte3=0,total1=0;
int contador
= 0;
Dx = (limites[1] - limites[0]) / iteraciones;
//f(x0)
x = limites[0] + (0 * Dx);
for (int l = 0; l <= grado; l++)
{
parte1
+= (coeficientes[l] * (pow(x, grado - contador)));
contador++;
}
contador = 0;
//f(xn)
x = limites[0] + (iteraciones * Dx);
for (int l = 0; l <= grado; l++)
{
parte3
+= (coeficientes[l] * (pow(x, grado - contador)));
contador++;
}
contador = 0;
//2f(x1)+...+2f(xn-1)
for (int i = 1; i < iteraciones; i++)
{
x
= limites[0] + (i * Dx);
for (int l = 0; l <= grado; l++)
{
parte2
+= (coeficientes[l] * (pow(x, grado - contador)));
contador++;
}
total1
+= parte2*2;
parte2
= 0;
contador
= 0;
}
resultado = (Dx / 2) * (parte1 +
parte3+ total1);
return
resultado;
}
Acá está separada en “dos partes”.
La separación consiste
en hacer por separado las funciones multiplicadas por 2
y las que no
Y los principios son
los mismos que en la suma de Riemann solo que acá cambia el valor de
en el ciclo principal
mientras que en el anidado suma los elementos del polinomio al final todo se
multiplica por ![]()


Comentarios
Publicar un comentario