【发布时间】:2021-05-15 00:47:24
【问题描述】:
其中 N×N 矩阵 B 是一组单项式基 {1,x,x^2,x^3,....x^n},fa(x) 是近似函数。如果我想遍历 n = [3,10,20,50] 并考虑到xj = 1/2*5-1/2*3*cos(j*pi/n)(切比雪夫点分布),我应该如何使用 NumPy 创建这样的矩阵 B?
【问题讨论】:
标签: python numpy numerical-methods
其中 N×N 矩阵 B 是一组单项式基 {1,x,x^2,x^3,....x^n},fa(x) 是近似函数。如果我想遍历 n = [3,10,20,50] 并考虑到xj = 1/2*5-1/2*3*cos(j*pi/n)(切比雪夫点分布),我应该如何使用 NumPy 创建这样的矩阵 B?
【问题讨论】:
标签: python numpy numerical-methods
看起来 b 是函数,是 x 的幂
b0 = 1
b1 = x
b2 = x^2
b3 = x^3
...
您正在尝试找到适合函数 f(x) 的最佳系数 c_n
您只需选择一组 x 值。 比如说,你想在 -1 到 +1 的范围内进行近似。选择 xx 的值,例如 x0 = -1.0, x1 = -0.9 , -0.8 , -0.7 ..., 0.9 , 1.0
x = np.arange(-1,1, 0.1)
B 数组中的每一行是每个 xi 值的 x^n 值。
你必须决定你想要你的多项式的幂。也许最简单的方法是使用“指数”创建一个 y 空间,例如从 x^0 到 x^5。 ' y=np.arange(0,6) '
然后使用“网格技巧”
y_mg , x_mg = np.meshgrid (y, x)
#For each value of x_mg and y_mg, use numpy arithmetic
B = numpy.power(x_mg , y_mg)
【讨论】: