Numpy攻略:Numpy常用函式之斐波那契數列
阿新 • • 發佈:2018-12-05
NumPy 是一個 Python 的第三方庫,代表 “Numeric Python”,主要用於數學/科學計算。
它是一個由多維陣列物件和用於處理陣列的例程集合組成的庫。
1.sqrt函式:計算平方根
示例:黃金分割比的計算
程式碼段如下:
import numpy
#使用sqrt函式計算5的平方根
phi=(1+numpy.sqrt(5))/2
print(phi)
執行結果:
1.618033988749895
2.log函式:計算以e為底的對數
示例:確定小於四百萬項的最大索引值
程式碼段如下:
import numpy #使用sqrt函式計算5的平方根 phi=(1+numpy.sqrt(5))/2 #使用log函式,把對數的底轉換一下 n=numpy.log(4*10**6*numpy.sqrt(5)+0.5)/numpy.log(phi) print(n)
執行結果:33.26294803586825
3.arange函式:生成一個指定範圍的陣列
#建立一個從1到n的陣列
n=numpy.arange(1,n)
4.計算斐波那契數列
fib=(phi**n-(-1/phi)**n)/numpy.sqrt(5)
print("First 9 Fibonacci Numbers",fib[:9])
執行結果:First 9 Fibonacci Numbers [ 1. 1. 2. 3. 5. 8. 13. 21. 34.]
5.sum函式:求和
故完整的程式碼如下: import numpy #使用sqrt函式計算5的平方根 phi=(1+numpy.sqrt(5))/2 #使用log函式,把對數的底轉換一下 n=numpy.log(4*10**6*numpy.sqrt(5)+0.5)/numpy.log(phi) print(n) #建立一個從1到n的陣列 n=numpy.arange(1,n) print(n) #計算斐波那契數列 fib=(phi**n-(-1/phi)**n)/numpy.sqrt(5) print("First 9 Fibonacci Numbers",fib[:9]) #轉化為整數:astype把資料轉化為指定的型別 fib=fib.astype(int) print("Integers",fib) #選出取值為偶數的項 eventerms=fib[fib%2==0] print(eventerms) #對選出的項求和 print(eventerms.sum())