https://www.cnblogs.com/louisanu/p/13285394.html
1 正交多項式的定義#
1.1 正交多項式定義#
定義: 一個多項式序列 pn(x)∞n=0pn(x)n=0∞,其階數為 [pn(x)]=n[pn(x)]=n ,對於每一個 nn,這個多項式序列在開區間 (a,b)(a,b) 上關於權函數 w(x)w(x) 正交,如果:
這里 δmnδmn為狄拉克函數,且 hnhn 為常數。
這里的權函數 w(x)w(x) 在區間 (a,b)(a,b) 是連續且正的以使得下式存在:
則多項式 ff 和多項式 gg 的內積定義為:
區間 (a,b)(a,b) 稱為正交區間,正交區間未必是有限區間。
例1 三角函數的正交性
對於三角函數序列 1,sin(θ),cos(θ),sin(2θ),cos(2θ),...,cos(nθ)1,sin(θ),cos(θ),sin(2θ),cos(2θ),...,cos(nθ),n=1,2,...,∞n=1,2,...,∞,他們在區間 (0,2π)(0,2π) 的正交性為:
圖1展現了 sin(θ)sin(θ) 和 cos(θ)cos(θ) 在區間 (0,2π)(0,2π) 上的正交性,圖中藍線為 sin(θ)∗cos(θ)sin(θ)∗cos(θ) 的值,對其積分就相當於求圖中陰影部分的面積,很明顯,陰影部分的面積加上符號后求和為0。

1.2 施密特正交化(Schmidt orthogonalization)#
施密特正交化方法是將一組線性無關的向量組正交化的方法,對正交化后的向量組進行標准化處理,可進一步得到一組標准正交基。施密特正交化的處理步驟如下:
例子:將三維空間中的一組線性無關向量 a,b,ca,b,c 用施密特正交化方法處理得到正交向量組 x,y,zx,y,z。
步驟如下:
三維空間中施密特正交化方法的幾何描述如圖2所示

2 經典正交多項式#
經典的正交多項式有雅克比多項式,切比雪夫多項式,勒讓德多項式,拉蓋爾多項式,伯恩斯坦多項式,球諧多項式等。
2.1 雅克比多項式#
雅克比多項式是定義在 (−1,1)(−1,1) 上,關於權函數 (1−x)α(1+x)β(1−x)α(1+x)β 正交的多項式,其中 α,β>−1α,β>−1
雅克比多項式的表達式為:
為伽馬函數(gamma function)。
雅克比多項式的正交性:

2.2 勒讓德多項式#
勒讓德多項式是定義在區間 (−1,1)(−1,1) 上關於權函數1正交的多項式。勒讓德多項式實際上是雅克比多項式在 α=β=0α=β=0 時的特殊情況。
勒讓德多項式的表達式為:
勒讓德多項式的遞推公式為:
勒讓德多項式的正交性:
前6階勒讓德多項式:
前6階多項式圖像:


2.3 切比雪夫多項式#
切比雪夫多項式是定義在區間 (−1,1)(−1,1) 上關於權函數 11−x2√11−x2 正交的多項式。
2.3.1 第一類切比雪夫多項式#
第一類切比雪夫多項式的表達式為:
令 x=cos(θ)x=cos(θ),則 Tn(x)=cos(narccos(x))Tn(x)=cos(narccos(x)),
第一類切比雪夫多項式的正交性為:
第一類切比雪夫多項式的遞推公式:
第一類切比雪夫多項式的前6項:
第一類切比雪夫多項式的圖像
2.3.2 第二類切比雪夫多項式#
第二類切比雪夫多項式的表達式為:
第二類切比雪夫多項式的正交性為:
第二類切比雪夫多項式的遞推公式:
第二類切比雪夫多項式的前6項:
第二類切比雪夫多項式的圖像:


2.4 拉蓋爾多項式#
拉蓋爾多項式是定義在區間 (0,+∞)(0,+∞) 上關於權函數 e−xxαe−xxα 正交的多項式,
拉蓋爾多項式的正交關系:
拉蓋爾多項式的遞推關系(α=0α=0):
前6項拉蓋爾多項式(α=0α=0):
前6項拉蓋爾多項式的圖像:


2.5 埃爾米特多項式#
埃爾米特多項式是定義在區間 (−∞,+∞)(−∞,+∞) 上關於權函數 e−x2e−x2 正交的多項式。
埃爾米特多項式分為概率論中的埃爾米特多項式和物理中的埃爾米特多項式,這里只介紹物理學中使用的埃爾米特多項式。
埃爾米特多項式的表達式為:
埃爾米特多項式的正交性:
埃爾米特多項式的遞推公式:
前6項埃爾米特多項式為:
前6項埃爾米特多項式圖像:


3 正交多項式的應用#
正交多項式的應用甚廣,包括但不限於數值分析,逼近理論,積分,微分方程,復變函數,隨機矩陣理論,編碼理論等。
這里僅以一個小的例子來說明正交多項式在函數擬合中的應用。
實驗中使用的測試函數為 y=4x+3x2+cos(x)+sin(2x)+exy=4x+3x2+cos(x)+sin(2x)+ex,定義區間為 (−2,2)(−2,2) ,實驗比較了多項式展開3項時不同多項式的擬合均方誤差(MSE),歸一化均方誤差(NMSE)。

從擬合結果來看,在展開3項時,埃爾米特多項式的擬合誤差較小,其他的多項式擬合誤差相當。
測試程序如下:
% 正交多項式測試
clear
clc
% 采樣點數
N = 1000 ;
% 正交多項式階數
M = 3 ;
% 擬合函數區間為(-2,2)
x = linspace(-2,2,N)' ;
% 生成被擬合的函數,包括指數函數,余弦函數,冪函數成分
y = 4*x + 3*x.^2 + cos(x) + exp(x) + sin(2*x);
% 生成冪級數組成的基矩陣
P1 = power_p(x,M) ;
% 生成勒讓德多項式組成的基矩陣
P2 = legendre_p(N,M) ;
% 生成切比雪夫多項式組成的基矩陣
P3 = chebyshev_p(N,M) ;
% 生成拉蓋爾多項式組成的基矩陣
P4 = laguerre_p(N,M) ;
% 生成誒爾米特多項式組成的基矩陣
P5 = hermite_p(N,M) ;
%% 用最小二乘擬合y
% c1對應冪級數系數
c1 = P1\y ;
% c2對應勒讓德系數
c2 = P2\y ;
% c3對應切比雪夫系數
c3 = P3\y ;
% c4對應拉蓋爾系數
c4 = P4\y ;
% c5對應埃爾米特系數
c5 = P5\y ;
%% 求MSE和NMSE
MSE_power = norm(y-P1*c1)/N
NMSE_power = norm(y-P1*c1)/norm(y)
MSE_legendre = norm(y-P2*c2)/N
NMSE_legendre = norm(y-P2*c2)/norm(y)
MSE_chebyshev = norm(y-P3*c3)/N
NMSE_chebyshev = norm(y-P3*c3)/norm(y)
MSE_laguerre = norm(y-P4*c4)/N
NMSE_laguerre = norm(y-P4*c4)/norm(y)
MSE_hermite = norm(y-P5*c5)/N
NMSE_hermite = norm(y-P5*c5)/norm(y)
figure(1)
plot(x,y,'r-',x,P1*c1,'b-',x,P2*c2,'k-',x,P3*c3,'y-',x,P4*c4,'g-',x,P5*c5,'m-')
legend('original','power','legendre','chebyshev','laguerre','hermite')
function [P] = power_p(x,M)
for m = 1:M
P(:,m) = x.^(m-1) ;
end
end
function [P] = legendre_p(N,NN)
% 本函數生成N*M的勒讓德基矩陣
s = linspace(-1,1,N)' ;
P = zeros(N,NN) ;
P(:,1) = ones(N,1) ;
P(:,2) = s ;
for n = 3 : NN
P(:,n) = ((2 * n - 3) * s .* P(:,n - 1) - (n - 2) * P(:,n - 2)) / ( n -1 ) ;
end
end
function [P] = chebyshev_p(N,M)
% 本函數生成N*M的切比雪夫基矩陣
x = linspace(-1,1,N)' ;
P = zeros(N,M) ;
P(:,1) = ones(N,1) ;
P(:,2) = x ;
for k = 3:M
P(:,k) = 2*x.*P(:,k-1) - P(:,k-2) ;
end
end
function [P] = laguerre_p(N,M)
% 本函數生成N*M的拉蓋爾基矩陣
x = linspace(-2,2,N)' ;
P = zeros(N,M) ;
P(:,1) = ones(N,1) ;
P(:,2) = -x + ones(N,1) ;
for m = 3:M
P(:,m) = ((2*(m-2)+1-x).*P(:,m-1)-(m-2)*P(:,m-2))./(m-1) ;
end
end
function [P] = hermite_p(N,M)
% 本函數生成N*M的埃爾米特基矩陣
x = linspace(-2,2,N)' ;
P = zeros(N,M) ;
P(:,1) = ones(N,1) ;
P(:,2) = 2*x ;
for m = 2:M
P(:,m+1) = 2*x.*P(:,m) - 2*(m-1)*P(:,m-1) ;
end
end
更多精彩內容請關注訂閱號優化與算法