123456789101112131415161718192021222324252627 |
- // 求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;
- }
|