• 沒有找到結果。

3.1 謝比雪夫配置方法(Chebyshev Collocation Method)

一般以多項式趨近一函數的方法,通常是泰勒級數取有限項。但 在大多數的情況下,這並不是好方法。因泰勒級數展開式只在接近展 開點來表示函數時,其誤差較小。但當使用較遠的點時,其誤差增加 很快(與冪次成比例)。且通常很難控制要選取哪個區間來趨近問題,

因此泰勒級數並不適合。一般以區間中央的精確度來分散端點的誤差 為較好的方式。在此引進謝比雪夫多項式(Chebyshev polynomial)來近 似待求問題。

本研究所使用的數值分析方法為謝比雪夫配置方法(Chebyshev Collocation Method),即以配置方法(Collocation Method)來取點,並以 謝比雪夫多項式(Chebyshev polynomial)來近似代求解,結合兩者以求 解PDE 邊界值問題。亦即,在所選取的配置點處,以謝比雪夫多項 式來近似未知曲線的在同配置點處的值,在配置點處其值與未知解相 同。因此當所選取得點越多,理論上越能趨近代求解。當然,取點越 多,計算的效率越慢。

而謝比雪夫多項式(Chebyshev polynomial)為在(-1,1)區間上採用 權函數w x( ) (1= −x2)1/ 2導出,對x∈ −[ 1,1],定義

T xn( ) cos( cos= n 1

θ

) n=0....N...(3-1) 並引進變換變數

cos (cos )-1 x

θ

= …..…..………...(3-2) 則(3-1)式變成

29 數;而求出an所使用的方法便是配置方法(Collocation Method),為令其 在配置點上謝比雪夫多項式的近似值與待求值需相等。

理論上 n→ ∞ 是最能近似待求問題,但需解出這些未定係數這相 對需要 n→ ∞ 個條件解出。因此我們勢必要用有限的個數 N 去近似它,

但若 N 取得太大,則運算時間長,效率變低。

需特別注意的是,Chebyshev Collocation Method 必須將區間設定

30

31

(2-87)式~(2-92)式。

最後將統御方程式與邊界條件轉成Chebyshev Collocation

Method 的級數表示式。以 matlab 軟體將統御方程式及邊界條件寫成 矩陣表示式,其中an係數為矩陣變數。並以 QZ 演算法,計算矩陣的 特徵值。

3.3 QZ 演算法(QZ algorithm)

將方程式轉成矩陣,AX=sBX 求解時,會發現有許多元素為零,

在運算特徵值時可能會有許多無效解,故利用 QZ algorithm 簡化矩陣 式為兩個上三角矩陣Q∗ ∗ =A Z AAQ∗ ∗ =B Z BB,之後再將其帶 入程式中能較快獲得特徵值。

3.4 問題與討論

撰寫程式中較為困難的部分,都是在反覆的檢查除錯(debug)與 測試。當我們將原待解的方程式寫成矩陣後,根據Matlab 的 QZ 矩

陣轉換求解特徵值時。因謝比雪夫配置方法的N 項數影響數值結果

的運算效率相當大,一般在一定的N 項數以上後,其數值的結果變

化便在誤差範圍內。因此在程式測試中N 項數的測試亦為關鍵,必

須先執行N 項數的測試,理論上提高 N 項數,越能趨近解答,但高 N 項數極易造成運算困難,尤其當我們改變參數求解方程式的特徵值 解時,常因參數的改變造成收斂的困難。因此在求解中性曲線(Neutral Curves)前,必須先執行特徵值曲線即成長率曲線圖,視其大小與趨 勢是否符合常理變化,在臨界波數是否出現極值成長率且其無因次參

32

數與波數的曲線是否成駝峰變化,或呈負成長。也須視其尺度大小是 否合理,一般成長率是不會大於 100 以上,因為成長率是隨時間成指 數的成長,並不會有流體有如此快的變化。因此在程式中,特徵值的 過濾也相當重要,當我們取成長率最大值來繪出中性曲線時,常會出 現虛根。須將其過濾,為保險起見可將特徵值範圍取至(50~-5000)之 內。但在計算尺度更大的範圍時,更將其範圍縮小至(1~-5000),來避 免100 以上的虛根。否則單靠數值計算的項數 N 來當收斂標準時,

常會造成程式運算困難。本文的未知數有6 項,總階數為 12 階。程 式所運算得矩陣為(6 N+6 ∗ × ∗6 N+6)的矩陣運算,若非必要,不要 輕易調高N 的項數。而應盡量以過濾特徵值的範圍來解決發散問題。

另外,視其所需來調設中性曲線的判斷標準也是提升效率的方法,

如我們常根據問題需要,繪出參數變化與中性曲線極值如(H-Raec),

導電梯度變化與Rae的極值時,我們只須看中性曲線的最低點Raec時,

我們可調整成長率 s 的收斂條件來加速運算,都是運算值得注意的小 地方。

33

相關文件