注:本系類筆記采用的是Python3.5X版本,編程環(huán)境為Windows64位下的Anaconda
所有代碼部分均為連續(xù)的,“結(jié)果”為在jupyter分步運行結(jié)果
代碼部分:
import numpy as np
arr1 = np.array([[1,2,3],#定義兩個矩陣
[4,5,6]])
arr2 = np.array([[1,1,2],
[2,3,3]])
print(arr1)
print(arr2)
結(jié)果:
[[1 2 3]
[4 5 6]]
[[1 1 2]
[2 3 3]]
print(arr1 + arr2)#加法
結(jié)果:
[[2 3 5]
[6 8 9]]
print(arr1 - arr2)#減法
結(jié)果:
[[0 1 1]
[2 2 3]]
print(arr1 * arr2)#按位相乘,同位置的數(shù)相乘
結(jié)果:
[[ 1 2 6]
[ 8 15 18]]
print(arr1 ** arr2)#求冪操作 如6^3=216
結(jié)果:
[[ 1 2 9]
[ 16 125 216]]
print(arr1 / arr2))#除法
結(jié)果:
[[ 1. 2. 1.5 ]
[ 2. 1.66666667 2. ]]
print(arr1 % arr2)#取余
結(jié)果:
[[0 0 1]
[0 2 0]]
print(arr1 // arr2)#取整
結(jié)果:
[[1 2 1]
[2 1 2]]
注:以上操作需要矩陣的大小是相同的,兩個矩陣都需要是m*n維的
————————————————————————————————————
print(arr1+2)#所有的元素加2
結(jié)果:
[[3 4 5]
[6 7 8]]
print(arr1*10)#所有的元素乘以10
結(jié)果:
[[10 20 30]
[40 50 60]]
注:其他除法,減法同理。
————————————————————————————————————
#矩陣元素判斷
arr3 = arr1 > 3 #判斷哪些元素大于3
print(arr3)
結(jié)果:
[[False False False]
[ True True True]]
————————————————————————————————————
注:以下重點為線性代數(shù)中矩陣的運算
arr4 = np.ones((3,5))
print(arr4)
結(jié)果
[[ 1. 1. 1. 1. 1.]
[ 1. 1. 1. 1. 1.]
[ 1. 1. 1. 1. 1.]]
print(arr1)#2行3列
結(jié)果:
[[1 2 3]
[4 5 6]]
np.dot(arr1,arr4)#線代中矩陣乘法 (第一種寫法)
結(jié)果:
array([[ 6., 6., 6., 6., 6.],
[ 15., 15., 15., 15., 15.]])
arr1.dot(arr4)#矩陣乘法(第二種寫法)
結(jié)果:
array([[ 6., 6., 6., 6., 6.],
[ 15., 15., 15., 15., 15.]])
print(arr1)
print(arr1.T)#矩陣轉(zhuǎn)置 (第一種寫法)
print(np.transpose(arr1))#矩陣轉(zhuǎn)置 (第二種寫法)
結(jié)果:
[[1 2 3]
[4 5 6]]
[[1 4]
[2 5]
[3 6]]
[[1 4]
[2 5]
[3 6]]