2016-10-22 67 views
2

是什麼差(N,1)

numpy.zeros(n)

numpy.zeros(n,1)之間的差異?

用於第一語句的輸出是

[0 0 ..... n次]

而第二個是

([0] [0]

.... n行)

+1

我得到'numpy.zeros(n,1)'的錯誤。我猜你的意思是'numpy.zeros((n,1))'。 –

+1

有關'(n,)'形狀和'(n,1)'之間區別的詳細描述請看http://stackoverflow.com/questions/22053050/difference-between-numpy-array-shape-r- 1和r(和其他這樣的問題)。 – hpaulj

+0

@hpaulj:我認爲這是一個完美的候選人,可以將這個問題作爲 – Eric

回答

1

第一個參數指示數組的形狀。標量參數意味着一個「平坦」數組(矢量),而元組參數被解釋爲張量的維數。因此,如果參數是元組(m,n),則numpy.zeros將返回包含m行和n列的矩陣。在你的情況下,它返回一個包含n行和1列的矩陣。

雖然你的兩種情況在某種意義上是等價的,但需要向量作爲輸入的線性代數例程可能會像第一種形式那樣。

+0

的副本來處理,這個問題不同於二維矩陣(n,n)的一維矩陣(n, 1)。 – TWReever

+0

@TWReever:謝謝澄清我最後的聲明。 –

+0

肯定需要一些習慣,尤其是如果習慣於更常規的方式,比如在Matlab中。 – TWReever