這兩周學習numpy,確實感覺在一些數(shù)學問題上很方便.
案例一矾利,求解方陣的特征值和特征向量.
求解代碼如下:
import numpy as np
array = np.array([[1, 5, 9], [3, 2, 8], [5, 7, 4]])
r1, r2 = np.linalg.eig(array)
# 特征值
print(r1)
# 特征向量
print(r2)
運行結果:
求解矩陣行列式
"""
numpy 計算行列式子
"""
import numpy as np
# a = [[1, 5, 9],
# [3, 2, 8],
# [5, 7, 4]]
a = [[1, 5],
[2, 4]]
a = np.array(a)
# 行列式
det = np.linalg.det(a)
print(det)
程序輸出結果:
補充一下二維和三維的行列式值项阴。
求解線性方程組
求解代碼入下:
import numpy as np
A = np.array([[1, 1], [2000, 1500]])
B = np.array([10, 18000])
result = np.linalg.solve(A, B)
print(result)
運行結果:
就是方程組的解為
求向量的長度
比如求向量 [3,4]的長度
import numpy as np
np.linalg.norm([3, 4])
輸出結果就是 5.0.
奇異值分解
對下列矩陣進行奇異值分解
代碼如下:
import numpy as np
A = np.array([[5, 6, 9], [3, 8, 4]])
p, sigma, q = np.linalg.svd(A)
print(p)
print(sigma)
print(q)
運行結果:
這里呢, A等于三個矩陣的內(nèi)積
加入A是一個 m × n 的矩陣鸟辅,那么p, sigma, q的維度分別是
m × m, m × n, n × n 怕膛。
且
角度和弧度轉換
import numpy as np
# 結果90
np.rad2deg(np.pi/2)
# 結果1.5707963267948966
np.deg2rad(90)