设置切比雪夫插值:n阶多项式插值节点生成问题咨询
结论
你的函数不符合当前作业的要求,核心问题是参数n的定义和作业要求不匹配。
原因说明
- 切比雪夫插值的基础逻辑是:如果要构造*k阶(次)*插值多项式
pₖ(x),必须用到k+1个互不重合的插值节点。 - 你当前编写的函数中,入参
n对应的是生成的插值节点数量,和作业要求的「入参n为插值多项式的阶数」的定义不一致。
修改方案
你只需要调整内部节点数量的计算逻辑即可,符合要求的参考实现如下:
import numpy as np def chebs(a, b, n): # 入参n为插值多项式阶数,对应需要生成n+1个切比雪夫节点 node_num = n + 1 i = np.arange(node_num) x = np.cos((2 * i + 1) * np.pi / (2 * node_num)) return 0.5 * (b - a) * x + 0.5 * (b + a)
如果不调整内部逻辑,也可以单独给函数加注释说明入参n是节点数量,但该实现就不满足本次作业的参数定义要求了。
内容的提问来源于stack exchange,提问作者Ryan McAree
相关产品推荐
相关产品推荐

