【发布时间】:2015-05-23 15:52:30
【问题描述】:
我想将两个向量相乘,一列(即 (N+1)x1),一行(即 1x(N+1))得到 (N+1)x(N+1 ) 矩阵。我对 Numpy 还很陌生,但对 MATLAB 有一些经验,这是 MATLAB 中我想要的 Numpy 中的等效代码:
n = 0:N;
xx = cos(pi*n/N)';
T = cos(acos(xx)*n');
在我尝试过的 Numpy 中:
import numpy as np
n = range(0,N+1)
pi = np.pi
xx = np.cos(np.multiply(pi / float(N), n))
xxa = np.asarray(xx)
na = np.asarray(n)
nd = np.transpose(na)
T = np.cos(np.multiply(np.arccos(xxa),nd))
在我注意到没有它的情况下,我添加了 asarray 行,Numpy 似乎将 xx 和 n 视为列表。 np.shape(n)、np.shape(xx)、np.shape(na) 和 np.shape(xxa) 给出相同的结果:(100001L,)
【问题讨论】: