淺析數值分析在數學建模中的應用

才智咖 人氣:2.82W

在實際中,許多問題所研究的變數都是離散的形式,所建立的模型也是離散的,下面是小編蒐集的一篇關於數值分析在模型建立中的應用探究的論文範文,歡迎閱讀參考。

淺析數值分析在數學建模中的應用

數值分析主要解釋了現代科學計算中使用的數值計算規則及它的基本原理,研究並求解數值問題的近似解,是數學原理與計算機以及實際問題的有機結合[1]。隨著現代科技的快速發展,運用數學思想解決科學技術工程研究領域中的現實問題,已經得到廣泛重視。數學建模是數值分析聯絡實際的橋樑。在模型構建的過程中,無論是模型的建立還是模型的求解都要用到數值分析課程中所涉及的演算法,如插值方法、最小二乘法、擬合法等。

一、數值分析在模型建立中的應用

在實際中,許多問題所研究的變數都是離散的形式,所建立的模型也是離散的。例如,對經濟進行動態的分析時,一般總是根據一些計劃的週期期末的指標值判斷某經濟計劃執行的如何。有些實際問題即可建立連續模型,也可建立離散模型,但在研究中,並不能時時刻刻統計它,而是在某些特定時刻獲得統計資料。另一方面,對常見的微分方程、積分方程為了求解,往往需要將連續模型轉化成離散模型。將連續模型轉化成離散模型,最常用的方法就是建立差分方程。

以非負整數k表示時間,記xk為變數x在時刻k的取值,則稱Δxk=xk+1-xk為xk的一階差分,稱Δ2xk=Δ(Δxk)=xk+2-2xk+1+xk為xk的二階差分。類似課求出xk的n階差分Δnxk。由k,xk,及xk的差分給出的方程稱為差分方程[2]。例如在研究節食與運動模型時,發現人們往往採取節食與運動方式消耗體記憶體儲的脂肪,引起體重下降,達到減肥目的。通常制定減肥計劃以周為時間單位比較方便,所以採用差分方程模型進行討論。記第k週末體重為w(k),第k周吸收熱量為c(k),熱量轉換系數α,代謝消耗係數β,在不考慮運動情況下體重變化的模型為w(k+1)=w(k)+αc(k+1)-βw(k)[2],k=0,1,2,…,增加運動時只需將β改為β1+β,β1由運動的形式和時間決定。

 二、數值分析在模型求解中的應用

插值法和擬合法在模型求解中的應用

1.擬合法求解

在數學建模中,我們常常建立了模型,也測量了(或收集了)一些已知資料,但是模型中的某些引數是未知的,此時需要利用已知資料去確定有關引數,這個過程通常通過資料擬合來完成。最小二乘法是資料擬合的基本方法。其基本思想就是:尋找最適合的模型引數,使得由模型給出的計算資料與已知資料的整體誤差最小。

假設已建立了數學模型y=f(x,c),其中,c=(c1,c2,…,cm)T是模型引數。已有一組已知資料(x1,,y1),(x2,y2),…,(xk,,yk),用最小二乘確定引數c,使e(c)=∑ki=1(yi-f(xi,c))2最小。函式f(x,c)稱為資料(xi,,yi)(i=1,2,…,k)的最小二乘擬合函式。如果模型函式y=f(x,c)具有足夠的可微性,則可用微分方程法解出c。最合適的c應滿足必要條件e(c)cj=-2∑ki=1(yi-f(xi,c))f(xi,c)cj=0,j=1,2,…,m。

2.插值法求解

在實際問題中,我們經常會遇到求經驗公式的問題,即不知道某函式y=f(x)的具體表達式,只能通過實驗測量得到該函式在一些點的函式值,即已知一部分精確的函式值資料(x1,,y1),(x2,y2),…,(xk,,yk)。要求一個函式

yi=φ(xi),i=0,1,…,k,(2)

這就是插值問題。函式yi=φ(xi)稱為f(x)的插值函式。xi(i=0,1,…,k)稱為插值節點,式(2)稱為插值條件[2]。多項式插值是最常用的插值方法,在工程計算中樣條插值是非常重要的方法。

3.模型求解中的解線性方程組問題

在線性規劃模型的.求解過程中,常遇到線性方程組求解問題。線性方程組求解是科學計算中用的最多的,很多計算問題都歸結為解線性方程組,利用計算機求解線性方程組的方法是直接法和迭代法。直接法基本思想是將線性方程組轉化為便於求解的三角線性方程組,再求三角線性方程組,理論上直接在有限步內求得方程的精確解,但由於數值運算有舍入誤差,因此實際計算求出的解仍然是近似解,仍需對解進行誤差分析。直接法不適用求解n≥4的線性方程組,因此當n≥4時,可以採用迭代法進行求解。

迭代法先要構造迭代公式,它與方程求根迭代法相似,可將線性方程組改寫成便於迭代的形式。迭代計算公式簡單,易於編制計算程式,通常都用於解大型稀疏線性方程組。求解線性方程組的一般設計思想如下,假設建立一個線性規劃模型

Ax=b

其中A=a11a12…a1na12a22…an2an1a12…ann,x=x1x2xn,b=b1b2bn,即A∈Rn×n,可將A改寫為迭代的形式

x=Bx+f

並由此構造迭代法

xk+1=Bxk+f,k=0,1,2,…,

其中B∈Rn×n,稱為迭代矩陣。將A按不同方式分解,就得到不同的迭代矩陣B,也就的帶不同的迭代法,例如Jacobi迭代法[5]、高斯-賽德爾迭代法[5]、超鬆弛迭代法等。

由於計算過程中有舍入誤差,為防止誤差增大,就要求所使用的迭代法具有穩定性,即迭代收斂,收斂速度越快,誤差越小。若x=Bx+f中,ρB<1,則認為此迭代法收斂。

4.數值積分在模型求解中的應用   模型求解過程中可能遇到積分求解問題,用求積公式If=∫bafxdx=Fb-Fa,使定積分計算變得簡單,但在實際應用中很多被積函式找不到用解析時表示的原函式,例如∫10e-x2dx,或者即使找到表示式也極其複雜。另外,當被積函式是列函式,其原函式沒有意義,因此又將計算積分歸結為積函式值的加權平均值。

假設a≤x0≤x1≤…≤xn≤b,則積分的計算公式[5]為∫bafxdx≈b-a∑ni=0αifxi,稱其為機械求積公式,其中xi(i=0,1,2,…,n)稱為求積節點,αi與f無關,稱為求積係數或權數,機械求積公式是將計算積分歸結為計算節點函式值的加權平均,即取∑ni=0αifxi≈fξ

得到的。由於這類公式計算極其便捷,是計算機計算積分的主要方法,構造機械求積公式就轉化為求引數xi及αi的代數問題。

5.數值分析在求解微分方程中的應用

在數學建模中,所建立的模型很多時候是常微分方程或者偏微分方程,這些方程求解析解是很困難的,而且即使能夠求得解析解,由於所用資料的誤差得到的解也是近似值,所以大部分情況下會採取數值的方法進行求解。

 三、誤差分析

在數學模型中往往包含了若干參變數,這些量往往是通過觀察得到的,因此也帶來了誤差,這種誤差稱為觀察誤差[4]。這些誤差是不可避免的,所以我們只能在模型建立和模型求解中避免誤差擴大。目前已經提出的誤差分析方法有向前誤差分析法與向後誤差分析,區間分析法,及概率分析,但在實際誤差估計中均不可行。不能定量的估計誤差,因此在建模過程中更著重誤差的定性分析,也就是演算法的穩定性分析。

在誤差分析中,首先要分清問題是否病態和演算法是否穩定,計算時還要儘量避免誤差危害。為了防止有效數字的損失,應該注意下面若干原則:一是避免用絕對值小的數作除數;二是避免數值接近相等的兩個近似值相減,這樣會導致有效數字嚴重損失;三是注意運算次序,防止“大數”吃“小數”,如多個數相加減,應按照絕對值由小到大的次序運算;四是簡化步驟,減少算術運算的次數。

 四、結論

隨著電子計算機的迅速發展、普及以及新型數值軟體的不斷開發,數值分析的理論和方法無論是在高科技領域還是在傳統學科領域,其作用和影響都越來越大,實際上它已成為科學工作者和工程技術人員必備的知識和工具,所以把數值分析的知識正確的應用到數學建模中去不僅是一種趨勢,更是用數學的理論解決實際問題的關鍵