Numpy是什麼
numberical 和 python
功能強大的python庫
主要作用:
- 執行數學任務
- 處理圖像
- 矩陣數值計算
安裝
應用實例
3、矩陣數學運算
- 生成隨機數組
random.rand(4,4)
- 將數組轉化爲矩陣
mat()
注:生成隨機矩陣就可以mat(random.rand(4,4))
- 矩陣求逆
randMat.I
- 創建單位矩陣
eye(n)
- 矩陣乘法
randMat*invRandMat
注:下邊代碼中,矩陣和它的逆相乘按理來說應該是單位矩陣,但是由於計算機計算有誤差,所以計算出來並不是,可以myEye-eye(4)
得到誤差值
Traceback (most recent call last):
File "E:/Python/TestNumpy.py", line 1, in <module>
import numpy as np
ModuleNotFoundError: No module named 'numpy'
>>> from numpy import *
>>> random.rand(4,4)
array([[0.10158214, 0.3719441 , 0.94063777, 0.50643896],
[0.92600614, 0.77236761, 0.35572363, 0.99252495],
[0.58464786, 0.10804458, 0.67350135, 0.87358246],
[0.32934685, 0.2607976 , 0.72263533, 0.31676123]])
>>> randMat = mat(random.rand(4,4))
>>> randMat.I
matrix([[ 1.02749897, -2.40507528, -0.33632994, 1.27810379],
[ 0.05177492, 2.54948785, -0.10568138, -1.17175427],
[-2.58994448, 1.43275664, 0.68643284, 1.57925206],
[ 0.0971614 , 0.62072199, 1.08438911, -0.98672751]])
>>> invRandMat = randMat.I
>>> randMat*invRandMat
matrix([[ 1.00000000e+00, 5.28210783e-17, -7.54562791e-17,
1.69183312e-16],
[-2.02484111e-16, 1.00000000e+00, 4.91238539e-18,
-2.15480015e-17],
[ 2.86544104e-17, 2.51922955e-16, 1.00000000e+00,
1.57562566e-16],
[ 2.26452988e-16, 4.92101953e-17, -3.25806708e-17,
1.00000000e+00]])
>>> myEye = randMat*invRandMat
>>> myEye - eye(4)
matrix([[ 0.00000000e+00, 5.28210783e-17, -7.54562791e-17,
1.69183312e-16],
[-2.02484111e-16, 0.00000000e+00, 4.91238539e-18,
-2.15480015e-17],
[ 2.86544104e-17, 2.51922955e-16, 0.00000000e+00,
1.57562566e-16],
[ 2.26452988e-16, 4.92101953e-17, -3.25806708e-17,
2.22044605e-16]])
>>>
參考文獻
- 《機器學習實戰》