SciPy库
SciPy簡介
SciPy,發音為Sigh Pi,是一個python開源庫,在BSD授權下發布,主要用于數學、科學和工程計算。
SciPy庫依賴于NumPy,NumPy提供了方便和快速的n維數組操作。它們一起可以運行在所有流行的操作系統上,安裝簡單,使用免費。
現在,組合使用NumPy、SciPy和Matplotlib,作為MATLAB的替代品已經成為趨勢。相比MATLAB,Python功能更強大、編程更容易。
SciPy 模塊
根據針對的計算領域,SciPy被分成各個不同的模塊。下表對這些模塊進行了總結:
scipy.cluster Vector quantization / Kmeans
scipy.constants 物理和數學常數
scipy.fftpack 傅里葉變換
scipy.integrate 積分
scipy.interpolate 插值
scipy.io 文件
scipy.linalg 線性代數
scipy.ndimage 多維圖像處理
scipy.odr Orthogonal(正交) distance regression
scipy.optimize 優化
scipy.signal 信號處理
scipy.sparse 稀疏矩陣
scipy.spatial Spatial data structures and algorithms
scipy.special 特殊函數
scipy.stats 統計
SciPy參考學習資料
https://www.qikegu.com/docs/3471
題目1 隨機產生一個5行3列的矩陣(元素值的范圍1-100)表示坐標,使用scipy計算行與行的距離
應用提示:在知道各個城市的坐標的前提下,可以通過該方法計算兩兩城市之間的距離。
import numpy as np from scipy.spatial import distance a=np.random.randint(1,100,(5,3)) dis_matrix1=distance.cdist(a, a, 'euclidean') array([[ 0. , 36.12478374, 40.85339643, 83.51047838,36.19392214],[ 36.12478374, 0. , 45.97825573, 58.69412236,32.78719262],[ 40.85339643, 45.97825573, 0. , 83.0722577 ,62.52199613],[ 83.51047838, 58.69412236, 83.0722577 , 0. ,56.83308895],[ 36.19392214, 32.78719262, 62.52199613, 56.83308895, 0. ]]) a array([[33, 37, 93],[53, 45, 64],[21, 12, 63],[35, 84, 24],[38, 70, 79]])題目2 使用scipy計算如下函數的最大值
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-g1cSZuHl-1621857349589)(attachment:image.png)]
import numpy as np from scipy.optimize import fmin from scipy import optimizeimport mathdef f(x):return math.pow(math.sin(x-2),2)*math.exp(-math.pow(x,2))maximum = optimize.fminbound(lambda x: -f(x), -4, 4) maximum 0.21624106813643806總結
- 上一篇: bch纠错码 码长8_从HDMI视频数据
- 下一篇: 电子发声设计实验