切比雪夫求積分法(附全過程代碼)

前言

  這是一篇數值計算算法的開胃菜,主要介紹切比雪夫求積分法的使用;如果你遇到編程和數學的問題,強烈建議找到你身邊的算法工程師或者計算機、電子、通信、數學專業的朋友,往往能夠事半功倍。

求解Gamma函數

Gamma函數對特殊值

  以下資料來自於維基百科
在這裏插入圖片描述
  切比雪夫多項式展開

通過求解方程組的方式解出c[i]的值,即可通過c[I]求解出Gamma函數的值

#寫於2019年3月13日
import numpy as np

Gam = np.array([2.363271801207,-3.544907701811,1.772453850906,1,\
    0.886226925453,1,1.329340388179,2,3.323350970448,6])
a = [-1.5,-0.5,0.5,1,1.5,2,2.5,3,3.5,4]
n = len(a)
T = np.ones((n,n))
for i in range(1,n):
    for j in range(n):
        if 1 == i:
            T[j][i] = a[j]
        else:
            T[j][i] = 2*a[j]*T[j][i-1]-T[j][i-2]
c = np.linalg.solve(T,Gam)
print(c)
x= 1
T_n = np.zeros((n))
T_n[0] = 1
T_n[1] = x
for i in range(2,n):
    T_n[i] = 2*x*T_n[i-1]-T_n[i-2]
p = 0
for i in range(n):
    s += c[i]*T_n[i]
print(p)

求解得到的相應c[i]的值
[ 0.24759993 6.92093386 -33.03116357 88.41245909 -132.01201401
125.18957712 -77.98534069 31.11558493 -7.24600984 0.75164499]

關於作者

  我是cclplus,一名算法萌新,請多多指教。
  如果你有任何疑問,可以聯繫作者cclplus
  如果你想要更深入的學習Python,你可以加入QQ羣:916372346

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章