根據三角恒等式
$$cos(n+1)\theta +cos(n-1)\theta =2cos\theta \cdot cos(n\theta)$$
令$\theta=arccost$,則對于函數
$${P}_{n}(t)=cos((n-1)arccost),-1\leqslant t\leqslant 1\text{ }\left( n=1,2,\cdots \right)$$
有遞推關系
$${P}_{n+1}(t)=2t \cdot{P}_{n}(t) -{P}_{n-1}(t)$$
由上式推出的多項式為第一類切比雪夫多項式,其前幾個形式為
$$\left\{\begin{matrix}
\\ {P}_{1}(t)=1
\\ {P}_{2}(t)=t
\\ {P}_{3}(t)=2{{t}^{2}}-1
\\ {P}_{4}(t)=4{{t}^{2}}-3t
\\ {P}_{5}(t)=8{{t}^{4}}-8{{t}^{2}}+1
\\ {P}_{6}(t)=16{{t}^{5}}-20{{t}^{3}}+5t
\\ {P}_{7}(t)=32{{t}^{6}}-48{{t}^{4}}+18{{t}^{2}}-1
\\\vdots
\end{matrix}\right.$$
—個n次多項式可以表示為多個切比雪夫多項式的加權和,在NumPy中,使用Chebyshev類表示由切比雪夫多項式組成的多項式:
$$f\left( t \right)=\sum\limits_{i=0}^{n}{{{a}_{i}}}{{P}_{i}}\left( t \right)$$
${{P}_{i}}\left( t \right)$多項式可以通過Chebyshev.basis(i)獲得,通過多項式類的conveit()方法可以在不同類型的多項式之間相互轉換,轉換的目標類型由kind參數指定,多項式各項的系數按照從小到大的順序排列。
from numpy.polynomial import Polynomial, ChebyshevP1 = Chebyshev.basis(1).convert(kind=Polynomial)P6 = Chebyshev.basis(6).convert(kind=Polynomial)
P1: poly([0. 1.])P6: poly([ -1. 0. 18. 0. -48. 0. 32.])
上所示即為多項式的系數,如果想得到表達式,如下
from numpy.polynomial import Polynomial, Chebyshevfrom sympy import *P6 = Chebyshev.basis(6).convert(kind=Polynomial)t = Symbol('t')P6(t)
1.0*t**2*(1.0*t**2*(32.0*t**2 - 48.0) + 18.0) - 1.0
如上所示即為第六個切比雪夫不等式。
${a}_{i}$的獲得則需要知道$f\left( t \right)$的坐標點,假設已知其五個坐標點(2,6)、(3,9)、(4,10)、(5,15)、(6,19),由于有五個點,故x最高次數為4次方,所以
$$f\left( t \right)=\sum\limits_{i=0}^{4}{{{a}_{i}}}{{P}_{i}}\left( t \right)$$
將其五個點坐標代入,
$$f\left( 2 \right)={{a}_{0}}{{P}_{0}}\left( 2 \right)+{{a}_{1}}{{P}_{1}}\left( 2 \right)+{{a}_{2}}{{P}_{2}}\left( 2 \right)+{{a}_{3}}{{P}_{3}}\left( 2 \right)+{{a}_{4}}{{P}_{4}}\left( 2 \right)=6$$
$$f\left( 3 \right)={{a}_{0}}{{P}_{0}}\left( 3 \right)+{{a}_{1}}{{P}_{1}}\left( 3 \right)+{{a}_{2}}{{P}_{2}}\left( 3 \right)+{{a}_{3}}{{P}_{3}}\left( 3 \right)+{{a}_{4}}{{P}_{4}}\left( 3 \right)=9$$
$$f\left( 4 \right)={{a}_{0}}{{P}_{0}}\left( 4 \right)+{{a}_{1}}{{P}_{1}}\left( 4 \right)+{{a}_{2}}{{P}_{2}}\left( 4 \right)+{{a}_{3}}{{P}_{3}}\left( 4 \right)+{{a}_{4}}{{P}_{4}}\left( 4 \right)=10$$
$$f\left( 5 \right)={{a}_{0}}{{P}_{0}}\left( 5 \right)+{{a}_{1}}{{P}_{1}}\left( 5 \right)+{{a}_{2}}{{P}_{2}}\left( 5 \right)+{{a}_{3}}{{P}_{3}}\left( 5 \right)+{{a}_{4}}{{P}_{4}}\left( 5 \right)=15$$
$$f\left( 6 \right)={{a}_{0}}{{P}_{0}}\left( 6 \right)+{{a}_{1}}{{P}_{1}}\left( 6 \right)+{{a}_{2}}{{P}_{2}}\left( 6 \right)+{{a}_{3}}{{P}_{3}}\left( 6 \right)+{{a}_{4}}{{P}_{4}}\left( 6 \right)=19$$
矩陣表示為:
由上述方程組即可解得${a}_{i}$。Numpy庫里numpy.polynomial.chebyshev模塊提供了chebvander函數可以自動完成上述計算過程,稱虛范德蒙矩陣。
import numpy as npimport numpy.polynomial.chebyshev as chebyshevimport numpy.linalg as linalgx = np.array([2, 3, 4, 5, 6])y = np.array([5, 9, 10, 15, 19])deg = len(x) - 1R = chebyshev.chebvander(x, deg)A = linalg.solve(R, y)
R: [[1.0000e+00 2.0000e+00 7.0000e+00 2.6000e+01 9.7000e+01] [1.0000e+00 3.0000e+00 1.7000e+01 9.9000e+01 5.7700e+02] [1.0000e+00 4.0000e+00 3.1000e+01 2.4400e+02 1.9210e+03] [1.0000e+00 5.0000e+00 4.9000e+01 4.8500e+02 4.8010e+03] [1.0000e+00 6.0000e+00 7.1000e+01 8.4600e+02 1.0081e+04]]
A: [-1.23937500e+02 1.24958333e+02 -2.40000000e+01 2.04166667e+00 -6.25000000e-02]
A即為所需求系數${a}_{i}$。
本文由 貴州做網站公司 整理發布,部分圖文來源于互聯網,如有侵權,請聯系我們刪除,謝謝!
網絡推廣與網站優化公司(網絡優化與推廣專家)作為數字營銷領域的核心服務提供方,其價值在于通過技術手段與策略規劃幫助企業提升線上曝光度、用戶轉化率及品牌影響力。這...
在當今數字化時代,公司網站已成為企業展示形象、傳遞信息和開展業務的重要平臺。然而,對于許多公司來說,網站建設的價格是一個關鍵考量因素。本文將圍繞“公司網站建設價...
在當今的數字化時代,企業網站已成為企業展示形象、吸引客戶和開展業務的重要平臺。然而,對于許多中小企業來說,高昂的網站建設費用可能會成為其發展的瓶頸。幸運的是,隨...
中國移動apn如何選擇?APN公司可以選擇cmnet和cmwap。具體步驟如下,以小米max手機為例:1.點擊手機設置,找到雙卡和移動網絡,進入下一頁;2.點擊進入下一頁;3.點擊接入點名稱(APN)進入下一頁;4.根據個人情況選擇cmnet和cmwap APN。opporeno4網絡接入點怎么設置?1.打開手機設置,點擊 "雙卡和移動網絡 "。2.找到并點選SIM卡信息,然后點選存取點名稱。3....
想充值到黃鉆8怎么繳費?你好!我 我很高興能夠回答你的問題。開黃鉆8級需要1000多元。逐月有不同的打開。如果是同一天1月12次年費,年費會快速增加。如果到期了,續費會很慢。200黃鉆多少幣?200顆黃鉆就是1000個硬幣。擴展知識:一顆黃鉆相當于0.0005元。正常情況下,一萬顆黃鉆等于5元。10萬顆黃鉆50元兌換成,20萬顆黃鉆100元兌換成。200萬黃鉆換算成,就是1000元。需要注意的是,...
sony電視開機就沒信號怎么辦?1.可能是電視信號源選擇錯誤造成的,用遙控器選擇對應的信號源即可;2.可能是電視與機頂盒或其他設備之間的線纜故障造成的。換條新線就行了。3.可能是外接設備沒有打開。只需檢查外接設備,開機即可;4.可能是硬件故障,建議返廠維修。sony電視開機就沒信號怎么辦?如果索尼電視沒有信號,可以通過以下步驟解決:1.檢查索尼電視的視頻線是否未連接或插錯位置。建議根據接線說明正確...