Regla Del Trapecio
Regla Del Trapecio
Regla Del Trapecio
Dónde:
b−a
h=
n
y Xi=a+ih; i=0 , 1 , … ,n .
- El número de procesos p.
- Su identificador.
- El intervalo de integración completo [a , b].
- El número de segmentos n .
- La función f ( x) a integrar.
Por consiguiente:
Por otro lado, sólo un proceso, que casi siempre es el proceso 0 , debe encargarse
de obtener los datos de la entrada y distribuirlos entre los demás procesos. Esto
puede hacerse mediante paso de mensajes o mediante comunicación colectiva,
esta última es la más eficiente.
Una buena forma de sumar los cálculos individuales de los procesos es hacer que
cada proceso envíe su cálculo local al proceso 0 y que este proceso 0 realice la
suma final.
#include <stdio.h>
#include “mpi.h”
if (mi_rango == 0)
{
/* Sumo los cálculos de cada proceso, que me envían los demás */
total = integral;
for (fuente = 1; fuente < p; fuente++)
{
MPI_Recv(&integral, 1, MPI_FLOAT, fuente, tag, MPI_COMM_WORLD,
&status);
total = total + integral;
}
}
else {
/* Envío mi resultado al proceso 0 */
MPI_Send(&integral, 1, MPI_FLOAT, dest, tag, MPI_COMM_WORLD);
}
if (mi_rango == 0)
{
/* Imprimo resultados */
printf(“Con n = %d trapecios, la integral de f(x) ", n);
printf(“desde %f a %f = %f\n", a, b, total);
}
/* Cerrar MPI */
MPI_Finalize();
}