2017-04-15 175 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