mpi梯形积分法树型

#include<stdio.h>
#include<mpi.h>
#include<iostream>
#include<math.h>

using namespace std;

//计算x的积分
double f(double x) {
	return x * x;
}

//梯形积分
double  Trap(double a, double b, int n, double h){

	double estimated = (f(a) + f(b)) / 2.0;
	for (int i = 1; i < n; i++) {
		//x = a + i * h;
		estimated += f(a + i * h);
	}

	estimated = estimated * h;
	return estimated;
}

void Get_input(int my_rank, int comm_sz, double *a_p, double *b_p, int * n_p) {

	if (my_rank == 0) {
		printf("请输入 a,b,n:\n");
             	scanf("%lf%lf%d",a,b,n);
	}
	//将主进程输入的参数广播到其余进程
	MPI_Bcast(a_p, 1, MPI_DOUBLE, my_rank, MPI_COMM_WORLD);
	MPI_Bcast(b_p, 1, MPI_DOUBLE, my_rank, MPI_COMM_WORLD);
	MPI_Bcast(n_p, 1, MPI_INT, my_rank, MPI_COMM_WORLD);
}


int main(int argc, char* argv[]) {

	int my_rank, comm_sz;  //进程编号,所有进程数目
	int n, local_n;
	double a, b;//积分上下限
	double h, local_a, local_b;

	double local_int, total_int;
	int source;

	//并行部分
	MPI_Init(&
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值