2017-04-15 101 views
0

我是numpy的新手,对Matlab只有有限的了解。我有以下Matlab的命令创建的行和列向量:numpy中的Matlab矢量

X=(-N:N) 
Y=column(X.^2) 

我试图创建在numpy的同样的事情,但它的向量X的形状和Y是相同的,尽管做转

import numpy as np 
N=10 
X=np.arange(-N,N) 
Y=X**2.T 
print X.shape, Y.shape 

请问如果np.arange()和matlab中的(-N:N)是等价的,并且numpy中列向量的问题是什么?

+0

通过添加新的轴线创建一个 “列向量”。 – Divakar

+0

另外你也许知道这一点,但如果你想要一个更短的方式来在MATLAB中创建一个列向量,你可以使用转置运算符':'Y = X.^2'' – qbzenker

回答

0

这是一个小在python更冗长:`(X ** 2)[:, np.newaxis]`:

import numpy as np 

X = np.arange(-10,11) #same as X=-10:10; in matlab 

Y = X**2 # same as X.^2 in matlab 
Y.shape = (np.size(Y),1) #forces it to be column vec 
+0

谢谢@qbzenker –

+0

没问题!如果它解决了您的问题,请您在我的答案旁边标记复选标记,请! – qbzenker