2017-04-15 15 views
0

私はnumpyを初めて使用しており、Matlabに関する知識が限られています。私はnumpyの中で同じものを作成しようとしていますnumlpのMatlabベクトル

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

が、それは、ベクトルXとYの形状が

import numpy as np 
N=10 
X=np.arange(-N,N) 
Y=X**2.T 
print X.shape, Y.shape 
を転置行うにもかかわらず、同じです。私は、行と列のベクトルを作成するには、次のMATLABコマンドを持っています

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