数值积分之Gauss求积法五点公式

//Gauss求积法五点公式
#include <iostream>
#include <math.h>

using namespace std;

class quadrature
{
private:
 int i;
 double a, b, f, integral, sum;
 double w[5], x[5];

public:
 double func(double r)
 {
  f = 8.168 * r * pow((1 - r / 2.5), 0.17);
  return f;
 }
 void integration();
};

void main()
{
 quadrature legendre;
 legendre.integration();
}

void quadrature::integration()
{
 w[0] = 0.2369269;
 w[1] = 0.4786287;
 w[2] = 0.5688889;
 w[3] = 0.4786287;
 w[4] = 0.2369269;
 x[0] = -0.90617985;
 x[1] = -0.53846931;
 x[2] = 0.0;
 x[3] = 0.53846931;
 x[4] = 0.90617985;
 cout << "\n输入下限和上限:";
 cin >> a >> b;
 sum = 0.0;
 for (i = 0; i < 5; i++)
 {
  sum += w[i] * func((x[i] * (b - a) + b + a) / 2);
 }
 integral = ((b - a) / 2) * sum;
 cout << endl << "积分值 = " << integral << endl;
}

  • 4
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值