1. 程式人生 > >Python------SciPy模塊

Python------SciPy模塊

方程 tro 空間 pytho 相關 python 基於 table ron

SciPy是一個基於NumPy的高級模塊,在符號計算,信號處理,數值優化等任務中有突出表現,覆蓋了絕大部分科學計算領域。

子模塊名稱 用途描述
scipy.cluster   主流的聚類算法
scipy.constants   數學和物理常數
scipy.fftpack 快速傅裏葉變換
scipy.integrate 求解積分和常微分方程
scipy.linalg 線性代數
scipy.ndimage N維圖像處理
scipy.signal 信號處理
scipy.spatial 空間數據結構和算法
scipy.stats 統計分布及相關函數

我對SciPy模塊的理解其中最重要是:“向量化思想”----->>>"符號計算“和”函數向量化”

from scipy import poly1d
print "******SciPy的符號計算******"
p=poly1d([3,4,5])
print p             #相當於3X^2+4X+5
print p+p
print p*p           #相當於9X^4+24X^3+46X^2+40X+25
print p([1,2,3])
print "P(x)的不定積分,指定常數為2"
print p.integ(k=2) 
print "P(x)的一階導數"
print p.deriv(1)   #表示求1階導數
print p.deriv(2)   #表示求2階導數
print "********SciPy函數向量化********" import numpy as np def Compare(a,b): if a>b: return a-b else: return a+b print Compare(10, 3) print Compare(4, 16) vec_compare=np.vectorize(Compare) print vec_compare([10,4,8,26],[3,16,8,7])

結果:

******SciPy的符號計算******
   2
3 x + 4 x + 5
   2
6 x + 8 x + 10
   4      3      2
9 x + 24 x + 46 x + 40 x + 25
[
12 25 44] P(x)的不定積分,指定常數為2 3 2 1 x + 2 x + 5 x + 2 P(x)的一階導數 6 x + 4 6 ********SciPy函數向量化******** 7 20 [ 7 20 16 19]

Python------SciPy模塊