numpy中行向量與列向量


Numpy中的數組shape為(m,)說明它是一個一維數組,或者說是一個向量,不區分列向量還是行向量,在與矩陣進行矩陣乘法時,numpy會自動判斷此時的一維數組應該取行向量還是列向量。

X = np.random.randn(4,3) # X.shape:(4, 3)
t = np.array([2,3,4]) # t.shape:(3,),此時不區分行向量還是列向量
y = X.dot(t) # 計算矩陣與向量乘法時,會把t當做列向量來計算,此時結果仍然是一維數組(但我們知道,這個結果應該是列向量)

在numpy中,用二維矩陣而不是一維矩陣來表示行向量和列向量:
    行向量的形狀:(n, 1)
    列向量的形狀:(1, n)

X = np.random.randn(4,3) # X.shape:(4, 3)
t = np.array([2,3,4]).reshape(3,1) # t.shape:(3,1),表示是列向量
y = X.dot(t) # y.shape:(4,1),表示結果也是列向量

 計算線性方程組:

y = 4 + 2*x1 + 3*x2 + x3

X = np.random.randn(4,3)
X_b = np.c_[np.ones((4,1)), X] #構造矩陣,增加x0=1
t = np.array([4,2,3,1]).reshape(4,1)
y = X_b.dot(t)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM