Я хотел бы умножить два вектора, один столбец (т. Е. (N + 1) x1), одну строку (т. Е. 1x (N + 1)), чтобы дать (N + 1) матрица x (N + 1). Я довольно новыми для Numpy, но есть некоторый опыт работы с MATLAB, это эквивалентный код в MATLAB, что я хочу в Numpy:Умножение векторов столбцов и строк в 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))
I добавила строку asarray после того, как я заметил, что без нее Numpy, похоже, обрабатывает xx и n как списки. np.shape(n)
, np.shape(xx)
, np.shape(na)
и np.shape(xxa)
дает тот же результат: (100001L,)