// 求LGR点的积分权重 // 输入: n:多项式的阶数,LGR点共计N + 1个点 // x: 配点值序列 // 输出: w : 积分权重 // 方法: 参考《Spectral and High - Order Methods》一书 // 编写: 李兆亭 // 时间: 2020 / 04 / 27 #include "GPM.h" int Weight_LGR_pro(int* N, vec* x, vec* w) { double f = 1.0; double x_temp = 1.0; for (int i = 0; i < (*N) + 1; i++ ) { if (i == 0) { (*w)(0) = 2.0 / pow(((*N) + 1.0), 2); } else { x_temp = (*x)(i); Legendre(N, &x_temp, &f); (*w)(i) = 1.0 / pow(((*N) + 1.0), 2) * (1.0 - (*x)(i)) / pow(f, 2); } } return 1; }