### 矩陣生成
a=[1,2,3,4,5,7,7,8,10] # 3*3
b = np.array(a)
print("a"+str(a)) ## a[1, 2, 3, 4, 5, 7, 7, 8, 10]
b= b.reshape(3,3)
print("b"+str(b))
'''
b[[ 1 2 3]
[ 4 5 7]
[ 7 8 10]]
'''
c = np.mat(b)
print("c"+str(c))
'''
c[[ 1 2 3]
[ 4 5 7]
[ 7 8 10]]
'''
### 單目運算
print("c.T\n"+str(c.T))
'''
[[ 1 4 7]
[ 2 5 8]
[ 3 7 10]]
'''
print("c.I\n"+str(c.I)) # 逆
'''
[[-2. 1.33333333 -0.33333333]
[ 3. -3.66666667 1.66666667]
[-1. 2. -1. ]]
'''
print(" np.linalg.pinv\n"+str( np.linalg.pinv(c)))# 廣義逆
'''
[[-2. 1.33333333 -0.33333333]
[ 3. -3.66666667 1.66666667]
[-1. 2. -1. ]]
'''
#### 矩陣運算
print("c+c\n"+str(c+c))
'''
[[ 2 4 6]
[ 8 10 14]
[14 16 20]]
'''
print("b+b\n"+str(b+b))
'''
[[ 2 4 6]
[ 8 10 14]
[14 16 20]]
'''
print("c*c\n"+str(c*c)) ## 矩陣乘法
'''
[[ 30 36 47]
[ 73 89 117]
[109 134 177]]
'''
print("np.dot(b,b)\n"+str(np.dot(b,b))) # 不需要轉置
'''
[[ 30 36 47]
[ 73 89 117]
[109 134 177]]
'''
print("b*b\n"+str(b*b)) # 對應位置的元素相乘
'''
[[ 1 4 9]
[ 16 25 49]
[ 49 64 100]]
'''
Python numpy 中array和mat的區別
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.