有限元中的Lagrange插值與Gauss積分
Lagrange插值與Gauss積分是在學習FEM中不可迴避的兩部分,雖然說是兩部分,其實在Gauss積分中,構造多項式的被積函數時,也用到了Lagrange插值多項式,所以在講關於參數單元剛度矩陣求積分的時候,在數值積分中一起提出。
以上表達式是說,對於一個比較難以積分的函數f,我們找到了一個與之相似度很高的多項式函數P,用P的積分來代替f的積分,那麼現在的問題就是如何找到多項式P。
那麼,先看第一種關於Newton-Cotes數值積分:
如果已知n個點的數值,那麼可以構造一個n-1階的多項式,通過待定係數的方式,使得這個多項式在這n個點的值就等於原本函數在這n個點的數值,關於待定係數的求解,如下:
用矩陣表示這個線性方程組:
這裡我用一個二次多項式來舉例吧,給出三個已知點:
二次多項式為:
將三個點帶入二次多項式來確定係數,得到的線性方程組為:
係數矩陣A明顯是一個范德蒙矩陣,范德蒙矩陣是可逆的,因此,我們可以直接通過克萊姆法則來求解係數向量,得到係數向量以後,把每一個係數寫成縱坐標y的線性組合,我直接給出我計算的結果,並且只保留y_1的係數:
另外係數矩陣,即范德蒙行列式的值為:
現在可以得到y的表達式:
接下來,記:
則:
可以容易的看出:
,這個意思就是說,在某一個帶入值的點,比如點1,f2與f3都取0,而f1則取1,所以,在所有帶入值的點,多項式插值的結果與原來函數的值是相等的。
這就是Lagrange插值,最後給一個一般性的表達式:
那麼,Newton-Cotes數值積分也就順理成章的被引出了:
然後,就是FEM里常用的Gauss積分了:
首先談一下我的理解,上面的Newton-Cotes數值積分,是將一個函數轉換為一個多項式,採用的多項式是Lagrange插值多項式,採用的n個點沒有特殊的要求,下面的Gauss積分,就是要對積分點進行確定,對積分點函數值得權函數同時進行確定。
可以看出,構造的高斯積分的函數雖然階次提高到了2n-1,它的兩項中的第一項仍然為n-1階,並且就是之前的拉格朗日插值多項式,只是在後面添加了一個「輔助項」,輔助項在所有積分點處的值為零,其實為什麼這麼構造我是不清楚的,我是一個沒學過數值分析的本科生,慚愧,但是毋庸置疑的是:
(1)整個多項式的階次被提高到2n-1次,相比於牛頓積分更精確;
(2)利用上述的積分條件(共n個),可以用來確定n個積分點的位置。
今天就寫這麼多吧,作為參數單元內容的補充。
推薦閱讀: