




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 編 號(hào): 審定成績(jī): 重慶郵電大學(xué)畢業(yè)設(shè)計(jì)(論文)設(shè)計(jì)(論文)題目:數(shù)值積分算法與matlab實(shí)現(xiàn)學(xué) 院 名 稱 :數(shù)理學(xué)院學(xué) 生 姓 名 :專 業(yè) :數(shù)學(xué)與應(yīng)用數(shù)學(xué)班 級(jí) :學(xué) 號(hào) : 指 導(dǎo) 教 師 :答辯組 負(fù)責(zé)人 :填表時(shí)間: 年 月重慶郵電大學(xué)教務(wù)處制重慶郵電大學(xué)本科畢業(yè)設(shè)計(jì)(論文)摘 要在求一些函數(shù)的定積分時(shí),由于原函數(shù)十分復(fù)雜難以求出或用初等函數(shù)表達(dá),導(dǎo)致積分很難精確求出,只能設(shè)法求其近似值,因此能夠直接借助牛頓-萊布尼茲公式計(jì)算定積分的情形是不多的。數(shù)值積分就是解決此類問(wèn)題的一種行之有效的方法。積分的數(shù)值計(jì)算是數(shù)值分析的一個(gè)重要分支;因此,探討近似計(jì)算的數(shù)值積分方法是有著明顯
2、的實(shí)際意義的。本文從數(shù)值積分問(wèn)題的產(chǎn)生出發(fā),詳細(xì)介紹了一些數(shù)值積分的重要方法。本文較詳細(xì)地介紹了牛頓-科特斯求積公式,以及為了提高積分計(jì)算精度的高精度數(shù)值積分公式,即龍貝格求積公式和高斯-勒讓德求積公式。除了研究這些數(shù)值積分算法的理論外,本文還將這些數(shù)值積分算法在計(jì)算機(jī)上通過(guò)matlab軟件編程實(shí)現(xiàn),并通過(guò)實(shí)例用各種求積公式進(jìn)行運(yùn)算,分析比較了各種求積公式的計(jì)算誤差。【關(guān)鍵詞】數(shù)值積分 牛頓-科特斯求積公式 高精度求積公式 matlab軟件abstractwhen the solution of the definite integral of some function values,bec
3、ause the original function is very complex and difficult to find the elementary function expression, the integral is difficult to accurately calculate, only managed to find the approximate value, and the case is small that allows to direct interface with the newton - leibniz formula to calculate the
4、 definite integral. numerical integration is an effective method to solve such problems. the numerical integration is an important branch of numerical analysis; therefore, exploring the approximate calculation of the numerical integration method has obvious practical significance. this article depar
5、ture from the numerical integration problem, described in detail some important numerical integration methods.this paper has introduced detail the newton - coates quadrature formula, and in order to improve the calculation accuracy of numerical integration formulas, more precise formulas have romber
6、g quadrature formulas and the gauss - legendre quadrature formula. in addition to the study of these numerical integration algorithm theory, the article also involve what these numerical integration algorithm be programmed by matlab software on the computer, and an example is calculated with a varie
7、ty of quadrature formulas, finally analysis and comparison to various quadrature formulas calculation error.【key words】 numerical integration newton-cotes quadrature formula high-precision quadrature formula matlab software目 錄前 言1第一章 牛頓-科特斯求積公式2第一節(jié) 數(shù)值求積公式的構(gòu)造2第二節(jié) 復(fù)化求積公式9第三節(jié) 本章小結(jié)12第二章 高精度數(shù)值積分算法13第一節(jié) 梯
8、形法的遞推13第二節(jié) 龍貝格求積公式14第三節(jié) 高斯求積公式17第四節(jié) 高斯-勒讓德求積公式19第五節(jié) 復(fù)化兩點(diǎn)高斯-勒讓德求積公式22第六節(jié) 本章小結(jié)23第三章 各種求積公式的matlab編程實(shí)現(xiàn)與應(yīng)用24第一節(jié) 幾個(gè)低次牛頓-科特斯求積公式的matlab實(shí)現(xiàn)24第二節(jié) 復(fù)化求積公式的matlab實(shí)現(xiàn)28第三節(jié) 龍貝格求積公式的matlab實(shí)現(xiàn)33第三節(jié) 高斯-勒讓德求積公式的matlab實(shí)現(xiàn)34第五節(jié) 各種求積算法的分析比較36第六節(jié) 本章小結(jié)38結(jié) 論39致 謝40參考文獻(xiàn)41附 錄43一、英文原文43二、英文翻譯52- 61 -前 言對(duì)于定積分,在求某函數(shù)的定積分時(shí),在一定條件下,雖然
9、有牛頓-萊布里茨公式可以計(jì)算定積分的值,但在很多情況下的原函數(shù)不易求出或非常復(fù)雜。被積函數(shù)的原函數(shù)很難用初等函數(shù)表達(dá)出來(lái),例如等;有的函數(shù)的原函數(shù)存在,但其表達(dá)式太復(fù)雜,計(jì)算量太大,有的甚至無(wú)法有解析表達(dá)式。因此能夠借助牛頓-萊布尼茲公式計(jì)算定積分的情形是不多的。另外,許多實(shí)際問(wèn)題中的被積函數(shù)往往是列表函數(shù)或其他形式的非連續(xù)函數(shù),對(duì)這類函數(shù)的定積分,也不能用不定積分方法求解,只能設(shè)法求其近似值。因此,探討近似計(jì)算的數(shù)值積分方法是有明顯的實(shí)際意義的,即有必要研究定積分的數(shù)值計(jì)算方法,以解決定積分的近似計(jì)算。而數(shù)值積分就是解決此類問(wèn)題的一種有效的方法,它的特點(diǎn)是利用被積函數(shù)在一些節(jié)點(diǎn)上的信息求出定
10、積分的近似值。微積分的發(fā)明是人類科學(xué)史上一項(xiàng)偉大的成就,在科學(xué)技術(shù)中,積分是經(jīng)常遇到的一個(gè)重要計(jì)算環(huán)節(jié)。數(shù)值積分是數(shù)學(xué)上重要的課題之一,是數(shù)值分析中重要的內(nèi)容之一,也是應(yīng)用數(shù)學(xué)研究的重點(diǎn)。隨著計(jì)算機(jī)的出現(xiàn),近幾十年來(lái),對(duì)于數(shù)值積分問(wèn)題的研究已經(jīng)成為一個(gè)很活躍的研究領(lǐng)域。現(xiàn)在,數(shù)值積分在計(jì)算機(jī)圖形學(xué),積分方程,工程計(jì)算,金融數(shù)學(xué)等應(yīng)用科學(xué)領(lǐng)域都有著相當(dāng)重要的應(yīng)用,所以研究數(shù)值積分問(wèn)題有著很重要的意義。國(guó)內(nèi)外眾多學(xué)者在數(shù)值積分應(yīng)用領(lǐng)域也提出了許多新方法。在很多實(shí)際應(yīng)用中,只能知道積分函數(shù)在某些特定點(diǎn)的取值,比如天氣測(cè)量中的氣溫、濕度、氣壓等,醫(yī)學(xué)測(cè)量中的血壓、濃度等等。通過(guò)這個(gè)課題的研究,我們將會(huì)
11、更好地掌握運(yùn)用數(shù)值積分算法求特殊積分函數(shù)的定積分的一些基本方法、理論基礎(chǔ);并且通過(guò)matlab軟件編程的實(shí)現(xiàn),應(yīng)用于實(shí)際生活中。第一章 牛頓-科特斯求積公式第一節(jié) 數(shù)值求積公式的構(gòu)造大多數(shù)實(shí)際問(wèn)題的積分是需要用數(shù)值積分方法求出近似結(jié)果的。數(shù)值積分原則上可以用于計(jì)算各種被積函數(shù)的定積分,無(wú)論被積函數(shù)是解析解形式還是數(shù)表形式,其基本原理都是用多項(xiàng)式函數(shù)近似代替被積函數(shù),用多項(xiàng)式的積分結(jié)果近似代替對(duì)被積函數(shù)的積分。由于所選多項(xiàng)式形式的不同,可以有許多種數(shù)值積分方法。而利用插值多項(xiàng)式來(lái)構(gòu)造數(shù)值求積公式是最常用的一種方法。對(duì)于積分,用一個(gè)容易積分的函數(shù)去代替被積函數(shù),這樣的自然以多項(xiàng)式為最佳,因?yàn)槎囗?xiàng)式
12、能很好的逼近任何連續(xù)函數(shù),而且容易求出其原函數(shù)。一、 求積公式的推導(dǎo)在積分區(qū)間上取有限個(gè)點(diǎn),作的次插值多項(xiàng)式,其中,為次插值基函數(shù)。用近似代替被積函數(shù),則得 若記 則得數(shù)值求積公式 其中稱為求積系數(shù),稱為求積節(jié)點(diǎn)。則稱該求積公式為插值型求積公式。知道了插值型求積公式以及其構(gòu)造方法。為了便于計(jì)算與應(yīng)用,常將積分區(qū)間的等分點(diǎn)作為求積節(jié)點(diǎn),這樣構(gòu)造出來(lái)的插值型求積公式就稱為牛頓-科特斯(newton-cotes)求積公式。在積分區(qū)間上取個(gè)等距節(jié)點(diǎn),其中,做次拉格朗日插值多項(xiàng)式,因?yàn)?,所?記 截去第二項(xiàng)得 顯然與無(wú)關(guān),只與節(jié)點(diǎn)有關(guān)。令,則當(dāng)時(shí),于是 而 從而得記 則 故求積公式可寫成 這就是牛頓-科
13、特斯求積公式,其中稱為科特斯系數(shù)。部分科特斯系數(shù)取值如下表1.1科特斯系數(shù)具有以下特點(diǎn)1(1) (2) (3)當(dāng) ³ 8 時(shí),出現(xiàn)負(fù)數(shù),穩(wěn)定性得不到保證。而且當(dāng) 較大時(shí),由于runge現(xiàn)象,收斂性也無(wú)法保證。故一般不采用高階的牛頓-科特斯求積公式。 (4)當(dāng) £ 7 時(shí),牛頓-科特斯公式是穩(wěn)定的。表1.1 部分科特斯系數(shù)表知道了什么是牛頓-科特斯求積公式,下面我們來(lái)看它的誤差估計(jì),首先來(lái)看看牛頓-科特斯求積公式的截?cái)嗾`差。我們知道牛頓-科特斯求積公式是一個(gè)插值型數(shù)值求積公式,當(dāng)用插值多項(xiàng)式代替進(jìn)行積分時(shí),其截?cái)嗾`差即積分真值和近似值之差,推導(dǎo)如下,由插值多項(xiàng)式的誤差估計(jì)可知
14、,用次拉格朗日多項(xiàng)式逼近函數(shù)時(shí)產(chǎn)生的誤差為 其中。對(duì)上式兩邊從到作定積分,便可得出它的截?cái)嗾`差 二、幾個(gè)低次牛頓-科特斯求積公式從上面的討論可知,用多項(xiàng)式近似代替被積函數(shù)進(jìn)行數(shù)值積分時(shí),雖然最高次數(shù)可是8,但是8次多項(xiàng)式的計(jì)算式非常繁雜的。常用的是下面介紹的幾種低次多項(xiàng)式。1、 矩形求積公式定義1.1 在牛頓-科特斯求積公式中,如果取,用零次多項(xiàng)式(即常數(shù))代替被積函數(shù),即用矩形面積代替曲邊梯形的面積,則有 稱式為矩形求積公式根據(jù)牛頓-科特斯求積公式的誤差理論式,矩形求積公式的誤差估計(jì)為2、梯形求積公式定義1.21 在牛頓-科特斯求積公式中,如果取,用一次多項(xiàng)式代替被積函數(shù),即用梯形面積代替曲
15、邊梯形的面積,則有其中,,查表可得代入上式得出 稱式為梯形求積公式由于用一次多項(xiàng)式近似代替被積函數(shù),所以它的精度是1。也就是說(shuō),只有當(dāng)被積函數(shù)是一次多項(xiàng)式時(shí),梯形求積公式才是準(zhǔn)確的。根據(jù)牛頓-科特斯求積公式的誤差理論式,梯形求積公式的誤差估計(jì)為是被積函數(shù)二階導(dǎo)數(shù)在點(diǎn)的取值,3、辛浦生求積公式定義1.32 在牛頓-科特斯求積公式中,如果取,用二次多項(xiàng)式代替被積函數(shù),即曲邊用拋物線代替,則有其中,,查表可得,代入上式得出 稱式為辛浦生求積公式,也稱拋物線求積公式。它的幾何意義是:用過(guò)3個(gè)點(diǎn),的拋物線和,構(gòu)成的曲邊梯形面積,近似地代替了被積函數(shù)形成的曲邊和,構(gòu)成的曲線梯形面積。下面對(duì)辛浦生求積公式的
16、誤差進(jìn)行估計(jì)。由于辛浦生求積公式是用二次多項(xiàng)式逼近被積函數(shù)推得的,原則上它的代數(shù)精度為2.但因多項(xiàng)式次數(shù)是偶數(shù),根據(jù)定理1.1可知,它的代數(shù)精度為3過(guò),和3個(gè)點(diǎn),構(gòu)造一個(gè)的三次lagrange插值多項(xiàng)式,且使。根據(jù)lagrange插值余項(xiàng)定理得 對(duì)上式兩邊從到進(jìn)行積分,即可得到 根據(jù)定積分中值定理可知,在上總有一點(diǎn)滿足下述關(guān)系:通過(guò)變量代換,,很容易求得把這個(gè)結(jié)果代入式,便得出辛浦生求積公式的誤差估計(jì)式 4、科特斯求積公式由于和時(shí)具有相同的迭代精度,但是時(shí)計(jì)算量小,故的newton-cotes積分公式用的很少。定義 1.4 在牛頓-科特斯求積公式中,如果取時(shí),牛頓科特斯公式為 稱式為科特斯求積
17、公式。同理根據(jù)式可求得其誤差估計(jì)式 三、求積公式的代數(shù)精度如果被積函數(shù)為任意一個(gè)次數(shù)不高于次的多項(xiàng)式時(shí),數(shù)值求積公式一般形式的截?cái)嗾`差;而當(dāng)它是次多項(xiàng)式時(shí),則說(shuō)明數(shù)值求積公式具有次代數(shù)精度。一個(gè)數(shù)值求積公式的代數(shù)精度越高,表示用它求數(shù)值積分時(shí)所需逼近被積函數(shù)的多項(xiàng)式次數(shù)越高。定理 1.13 牛頓-科特斯求積公式的代數(shù)精度等于,當(dāng)為偶數(shù)時(shí),牛頓-科特斯求積公式的代數(shù)精度等于證明 如果被積函數(shù)是一個(gè)不大于次的多項(xiàng)式,則,即;而當(dāng)時(shí)任意一個(gè)次多項(xiàng)式時(shí),故 所以,按照代數(shù)精度的定義可知,一般情況下,牛頓-科特斯求積公式的代數(shù)精度等于。當(dāng)為次多項(xiàng)式時(shí), 牛頓-科特斯求積公式的代數(shù)精度至少等于。若設(shè)是一個(gè)
18、次多項(xiàng)式,這時(shí)為一常數(shù),而因此,只要證明在是偶數(shù)時(shí),定理就可得證。為此,設(shè),令,于是由于為偶數(shù),不妨設(shè),為正整數(shù),則,于是再引進(jìn)變換,則,代入上式右側(cè),得出 最后的積分中被積函數(shù)是奇函數(shù),所以積分結(jié)果等于零,定理1.1得證。第二節(jié) 復(fù)化求積公式前面導(dǎo)出的誤差估計(jì)式表明,用牛頓-科特斯公式計(jì)算積分近似值時(shí),步長(zhǎng)越小,截?cái)嗾`差越小。但縮小步長(zhǎng)等于增加節(jié)點(diǎn),亦即提高插值多項(xiàng)式的次數(shù)。龍格現(xiàn)象表明,這樣做并不一定能提高精度。理論上已經(jīng)證明,當(dāng)時(shí),牛頓-科特斯公式所求得的近似值不一定收斂于積分的準(zhǔn)確值,而且隨著的增大,牛頓-科特斯公式是不穩(wěn)定的。因此,實(shí)際中不常用高階牛頓-科特斯公式。為了提高計(jì)算精度,
19、可考慮對(duì)被積函數(shù)用分段低次多項(xiàng)式插值,由此導(dǎo)出復(fù)化求積公式。一、復(fù)化梯形求積公式在實(shí)際應(yīng)用中,若將積分區(qū)間分成若干個(gè)小區(qū)間,在各個(gè)小區(qū)間上采用低次的求積分式(梯形公式或辛浦生公式),然后再利用積分的區(qū)間可加性,把各區(qū)間上的積分加起來(lái),便得到新的求積公式,這就是復(fù)化積分公式的基本思想。以梯形面積近似曲邊梯形面積,即用梯形公式求小區(qū)間上積分的近似值。這樣求得近似值顯然比用梯形公式計(jì)算精度高。定積分存在定理表明,只要被積函數(shù)連續(xù),當(dāng)小區(qū)間的長(zhǎng)度趨于零時(shí),小梯形面積之和即就趨于曲邊梯形面積的準(zhǔn)確值,即定積分的準(zhǔn)確值。定義 1.54 將積分區(qū)間進(jìn)行等分,記為,在每個(gè)小區(qū)間 上用梯形公式求和,得若將所得的
20、近似值記為,整理得 稱式為復(fù)化梯形公式。記為 當(dāng)時(shí), 即收斂于如果,則在小區(qū)間上,梯形公式的截?cái)嗾`差為 因此因?yàn)閰^(qū)間上連續(xù),由介值定理知存在,使得從而有 這就是復(fù)化梯形公式的截?cái)嗾`差。下面討論復(fù)化梯形公式的數(shù)值穩(wěn)定性。設(shè)計(jì)算函數(shù)值時(shí)產(chǎn)生的誤差為,則用式計(jì)算結(jié)果的誤差為因此,無(wú)論為多大,復(fù)化梯形公式都是穩(wěn)定的。二、復(fù)化辛浦生求積公式如果用分段二次插值函數(shù)近似被積函數(shù),即在小區(qū)間上用simpson公式計(jì)算積分近似值,就可導(dǎo)出復(fù)化simpson公式。定義1.65 將積分區(qū)間分成等分,分點(diǎn)為, 在每個(gè)小區(qū)間上。用simpson公式求積分,則有 求和得 整理后得到 式就稱為復(fù)化辛浦生求積公式。記為 如果
21、, 則由simpson插值余項(xiàng)公式可得復(fù)化公式的截?cái)嗾`差為 因?yàn)闉檫B續(xù),故存在, 使得代入上式得 式表明,步長(zhǎng)h越小,截?cái)嗾`差越小。與復(fù)化梯形公式的分析相類似,可以證明,當(dāng)時(shí),用復(fù)化simpson公式所求得的近似值收斂于積分值,而且算法具有數(shù)值穩(wěn)定性。三、復(fù)化科特斯求積公式定義1.7 將積分區(qū)間等分為個(gè)子區(qū)間,每個(gè)子區(qū)間的中點(diǎn),,子區(qū)間長(zhǎng)度, 在每個(gè)子區(qū)間上用科特斯公式求和,得 式就稱為復(fù)化科特斯求積公式,記為 ,式中, , 類似地可以推出復(fù)化科特斯公式的截?cái)嗾`差為 第三節(jié) 本章小結(jié)本章節(jié)開篇介紹了數(shù)值求積公式的構(gòu)造,主要是用運(yùn)用插值多項(xiàng)式。接著介紹了幾個(gè)低次的牛頓-科特斯求積公式,即梯形公式
22、、辛浦生公式、科特斯公式,以及牛頓-科特斯求積公式的改進(jìn)復(fù)化求積公式,并對(duì)各個(gè)求積公式進(jìn)行了相應(yīng)的誤差分析。第二章 高精度數(shù)值積分算法復(fù)化求積公式是提高精確度的一種行之有效的方法,但是在使用復(fù)化型求積公式之前必須先給出步長(zhǎng)。步長(zhǎng)太大精度難以保證,步長(zhǎng)太小則又會(huì)導(dǎo)致計(jì)算量的增加,而事先給出一個(gè)合適的步長(zhǎng)往往是困難的。在實(shí)際計(jì)算中常常采用變步長(zhǎng)的計(jì)算方法,即在步長(zhǎng)逐次減半的過(guò)程中,反復(fù)利用復(fù)化求積公式進(jìn)行計(jì)算,并同時(shí)查看相繼兩次計(jì)算結(jié)果的誤差是否達(dá)到要求,直到所求得的積分值滿足要求為止。下面以梯形公式為例第一節(jié) 梯形法的遞推在變步長(zhǎng)的過(guò)程中探討梯形法的計(jì)算規(guī)律如下:設(shè)將積分區(qū)間分為等分,則一共有個(gè)
23、等分點(diǎn),這里用表示復(fù)化梯形法求得的積分值,其下標(biāo)表示等分?jǐn)?shù)。由余項(xiàng)公式可知,積分值為 再將各子區(qū)間分半,使得區(qū)間成等分。此時(shí)所得積分近似值記為,則再由余項(xiàng)公式可知,積分值為 假定在上變化不大,即有,于是得,左式也可以寫成為 這說(shuō)明用作為積分的近似值時(shí),其誤差近似為。計(jì)算過(guò)程中常用是否滿足作為控制計(jì)算精度的條件。如果滿足,則取作為的近似值;如果不滿足,則再將區(qū)間分半,直到滿足要求為止。實(shí)際計(jì)算中的遞推公式為 在給定控制參數(shù)后,當(dāng)滿足時(shí),則以作為積分的近似值。通過(guò)類似的推導(dǎo),還可以得到下面的結(jié)論對(duì)于辛浦生公式,假定在上變化不大,則有 對(duì)于科特斯公式,假定在上變化不大,則有 第二節(jié) 龍貝格求積公式梯
24、形法的算法簡(jiǎn)單,單精度低,收斂的速度緩慢。如何提高收斂速度以節(jié)省計(jì)算量,這是人們極為關(guān)心的課題。由此引出了龍貝格公式。由梯形的遞推法可以看出,將積分區(qū)間等分時(shí),用復(fù)化梯形公式計(jì)算的結(jié)果作為積分的近似值,其誤差近似值為??梢栽O(shè)想,如果用這個(gè)誤差作為的一種補(bǔ)償,即將 作為積分的近似值,可望提高其精確度。直接根據(jù)復(fù)化求積公式,不難驗(yàn)證 這說(shuō)明,將區(qū)間對(duì)分前后兩次復(fù)化梯形公式的值,按式作線性組合恰好等于復(fù)化辛浦生公式的值,它比更接近于近似值。同樣,根據(jù)式用于作線性組合會(huì)得到比更精確的值,且通過(guò)直接驗(yàn)證可得 再由式用與作線性組合,又可得到比更精確的值,通常記為,即 式就稱為龍貝格求積公式2。上述用若干個(gè)
25、積分近似值推算出更為精確的積分近似值的方法,稱為外推方法。我們將序列,和分別稱為梯形序列、辛浦生序列、科特斯序列和龍貝格序列。由龍貝格序列當(dāng)然還可以繼續(xù)進(jìn)行外推,得到新的求積序列。但由于在新的求積序列中,其線性組合的系數(shù)分別為與。因此,新的求積序列與前一個(gè)序列結(jié)果相差不大。故通常外推到龍貝格序列為止。利用龍貝格序列求積的算法稱為龍貝格算法。這種算法具有占用內(nèi)存少、精確度高的優(yōu)點(diǎn)。因此,成為實(shí)際中常用的求積方法。下面給出龍貝格求積算法的計(jì)算步驟:第1步:算出和的值,根據(jù)公式計(jì)算;第2步:將分半,算出后,根據(jù)公式 計(jì)算,再根據(jù)公式計(jì)算;第3步:再將區(qū)間分半,算出及的值,并根據(jù)公式和計(jì)算出及,再由公
26、式計(jì)算出;第4步:將區(qū)間再次分半,計(jì)算,并由公式 計(jì)算;第5步:將區(qū)間再次分半,類似上述過(guò)程計(jì)算,。重復(fù)上述過(guò)程可計(jì)算得到,一直算到龍貝格序列中前后兩項(xiàng)之差的絕對(duì)值不超過(guò)給定的誤差限為止。定義2.16 上述用若干個(gè)積分近似值算出更精確的積分近似值的方法,稱之為外推法。上述計(jì)算步驟也可用表 2.1表示 表 2.1 龍貝格計(jì)算步驟表k梯形序列辛浦生序列科特斯序列龍貝格序列012345第三節(jié) 高斯求積公式前面介紹的個(gè)節(jié)點(diǎn)的 newton -cotes求積公式,其特征是節(jié)點(diǎn)是等距的。這種特點(diǎn)使得求積公式便于構(gòu)造,復(fù)化求積公式易于形成。但同時(shí)也限制了公式的精度。是偶數(shù)時(shí),代數(shù)精度為,是奇數(shù)時(shí),代數(shù)精度為
27、;我們知道個(gè)節(jié)點(diǎn)的插值型求積公式的代數(shù)精確度不低于。設(shè)想:能不能在區(qū)間上適當(dāng)選擇個(gè)節(jié)點(diǎn) 使插值求積公式的代數(shù)精度高于?答案是肯定的,適當(dāng)選擇節(jié)點(diǎn),可使公式的精度最高達(dá)到,這就是本節(jié)所要介紹的高斯型求積公式。例:其中,固定在,可以適當(dāng)選取,只有兩個(gè)自由度,得到的是梯形公式,其代數(shù)精度只有1。如果對(duì)求積節(jié)點(diǎn)也進(jìn)行適當(dāng)?shù)倪x取,將有四個(gè)自由度,得到如下公式:這個(gè)積分公式的代數(shù)精確度為3,這就是高斯型求積公式,上面的求積節(jié)點(diǎn)稱為高斯點(diǎn)。一、高斯型求積公式和高斯點(diǎn) 對(duì)于含有個(gè)參數(shù),的求積公式:,適當(dāng)選取這個(gè)參數(shù),可以使得數(shù)值積分公式的代數(shù)精確度達(dá)到,我們稱這一類求積公式為高斯型求積公式,稱這類求積公式的積
28、分節(jié)點(diǎn)為高斯點(diǎn),系數(shù)稱為高斯系數(shù)。定義 2.27 如果個(gè)求積節(jié)點(diǎn)的求積公式的代數(shù)精度為,則這個(gè)求積節(jié)點(diǎn)稱為高斯點(diǎn)。因?yàn)楦咚骨蠓e公式也是插值型求積公式,故有結(jié)論 :個(gè)節(jié)點(diǎn)的插值型求積公式的代數(shù)精度,滿足二、高斯點(diǎn)的特征定理 2.17 設(shè)是個(gè)相異點(diǎn),以這個(gè)點(diǎn)為零點(diǎn)的次多項(xiàng)式為則是高斯點(diǎn)的充要條件是對(duì)于任意不超過(guò)次的多項(xiàng)式,成立證明 1)必要性。設(shè)為高斯點(diǎn),則對(duì)任意不超過(guò)次的多項(xiàng)式,均有,則對(duì)于任意次數(shù)不超過(guò)次多項(xiàng)式,是次數(shù)不超過(guò)的多項(xiàng)式,且注意到,故 2)充分性。設(shè)對(duì)于一切次數(shù)不超過(guò)次的多項(xiàng)式,成立,又設(shè)是次數(shù)不超過(guò)次的多項(xiàng)式,用去除,商,余,即,可知和均是不超過(guò)次的多項(xiàng)式,從而,又因求積公式是插
29、值多項(xiàng)式的構(gòu)造導(dǎo)出的,由的選取,其代數(shù)精確度可以達(dá)到,而是次數(shù)不超過(guò)次的多項(xiàng)式,因此成立,因,所以,故而也即由于是次數(shù)不超過(guò)次的多項(xiàng)式,因此該積分公式的代數(shù)精確度至少為,因而由定義2.2知節(jié)點(diǎn)是高斯點(diǎn)。定義2.3 對(duì)于關(guān)系,我們稱之為正交性,即與任意次多項(xiàng)式正交,而這樣的多項(xiàng)式類稱為正交多項(xiàng)式。三、高斯型求積公式的余項(xiàng)其中,。積分,可以計(jì)算得到 第四節(jié) 高斯-勒讓德求積公式常用的高斯型求積公式有高斯-勒讓德公式、高斯-切比雪夫公式、高斯-拉蓋爾公式、高斯-埃爾米特公式,下面著重介紹高斯-勒讓德公式一、legendre多項(xiàng)式, 稱式為勒讓德(legendre)多項(xiàng)式,其具有前面提到的正交性性質(zhì),
30、即對(duì)于任意次數(shù)不超過(guò)的多項(xiàng)式,成立因此,多項(xiàng)式的零點(diǎn)就是相應(yīng)的高斯-勒讓德求積公式的高斯點(diǎn)。勒讓德多項(xiàng)式的前幾項(xiàng)如下:,勒讓德多項(xiàng)式的性質(zhì):性質(zhì)1 勒讓德多項(xiàng)式的首項(xiàng)系數(shù)為 性質(zhì) 2 當(dāng)為奇數(shù)時(shí),為奇函數(shù);當(dāng)為偶數(shù),為偶函數(shù)性質(zhì) 3 對(duì)一切次數(shù)不高于次的多項(xiàng)式,有二、高斯-勒讓德求積公式1)當(dāng)時(shí),其零點(diǎn)為,易得,的高斯-勒讓德求積公式是,其代數(shù)精確度為12)當(dāng)時(shí),其零點(diǎn)為,此時(shí),的高斯-勒讓德求積公式是:,其代數(shù)精確度為3 3)當(dāng)時(shí),其零點(diǎn)為和0,設(shè)高斯-勒讓德求積公式為:令,得到方程 令,得到方程 令,得到方程 聯(lián)立方程、可解得,所以,其代數(shù)精確度為5 4)當(dāng)時(shí),由,得,故四個(gè)零點(diǎn)為,即,相
31、應(yīng)的,可以解出, ,高斯-勒讓德求積公式為其代數(shù)精確度為7綜上,高斯-勒讓德求積公式的積分節(jié)點(diǎn)和積分系數(shù)表如 表2.2表2.2 積分節(jié)點(diǎn)和積分系數(shù)表三、高斯-勒讓德求積公式的余項(xiàng) 對(duì)階求積公式(共有個(gè)求積節(jié)點(diǎn)) 其中,為多項(xiàng)式的零點(diǎn)。積分,可以計(jì)算得到: 四、一般區(qū)間上的高斯-勒讓德求積公式前面講解的高斯-勒讓德求積公式是計(jì)算標(biāo)準(zhǔn)區(qū)間上的定積分,對(duì)于一般的有界區(qū)間上的定積分,可以通過(guò)變量代換轉(zhuǎn)化為區(qū)間的定積分。即在積分中,令,當(dāng)時(shí),;當(dāng)時(shí),;且。這個(gè)變換為線性變換,其反變換為于是成立然后,我們可以用區(qū)間上的高斯-勒讓德求積公式。第五節(jié) 復(fù)化兩點(diǎn)高斯-勒讓德求積公式本節(jié)對(duì)兩點(diǎn)公式 進(jìn)行推廣和復(fù)化
32、,得到了新的數(shù)值積分公式 同時(shí)分析了它的積分誤差和收斂階定義 2.48 設(shè),是一種復(fù)化求積公式,若當(dāng)時(shí)成立 則稱求積公式是階收斂的。例如,復(fù)化的trapezoid公式和復(fù)化的simpson公式分別具有二階和四階收斂性。定理 2.28 設(shè),則復(fù)化兩點(diǎn)高斯-勒讓德求積公式為 的余項(xiàng)表達(dá)式為 該方法具有四階收斂性??紤]積分,準(zhǔn)確解為 0.74684204用復(fù)化兩點(diǎn)高斯-勒讓德公式可求得=0.74680332 ,其絕對(duì)誤差為=0.00001960,與復(fù)化梯形公式,復(fù)化simpson公式以及原兩點(diǎn)gauss-legendre 公式相比,這里構(gòu)造的復(fù)化兩點(diǎn)高斯-勒讓德求積公式方法在運(yùn)算量和精度方面都有顯著
33、的改善。第六節(jié) 本章小結(jié)本章主要介紹了精確度比較高的兩種數(shù)值求積公式,即龍貝格求積公式和高斯型求積公式,對(duì)其進(jìn)行了相應(yīng)的誤差分析。其中高斯型求積公式主要介紹了高斯-勒讓德求積公式,并對(duì)兩點(diǎn)高斯-勒讓德求積公式進(jìn)行了復(fù)化。第三章 各種求積公式的matlab編程實(shí)現(xiàn)與應(yīng)用matlab是由mathworks公式開發(fā)的一種主要用于數(shù)值計(jì)算及可視化圖形處理的工程語(yǔ)言,是當(dāng)今最優(yōu)秀的科技應(yīng)用軟件之一。它將數(shù)值計(jì)算、矩陣運(yùn)算、圖形圖像處理、信號(hào)處理和仿真等諸多強(qiáng)大的功能集成在較易使用的交互計(jì)算機(jī)環(huán)境中,為科學(xué)研究、工程應(yīng)用提供了一種功能強(qiáng)、效率高的編程工具。下面我們將各種求積算法通過(guò)matlab軟件編程實(shí)現(xiàn)
34、,以下程序均用matlab7.0編寫,運(yùn)行壞境:1、硬件環(huán)境cpu(intel core i3-2310m,2.1ghz),內(nèi)存(2gb昱聯(lián)),2、軟件環(huán)境windows7(32位)操作系統(tǒng)。以下總共編寫了六個(gè)算法程序,部分代碼參考文獻(xiàn)10-13,為了體現(xiàn)程序的正確性,以下程序都以為例進(jìn)行運(yùn)算。原積分的精確值為第一節(jié) 幾個(gè)低次牛頓-科特斯求積公式的matlab實(shí)現(xiàn)先用m文件定義一個(gè)名為f1.m的函數(shù):% i是要調(diào)用第幾個(gè)被積函數(shù)g(i),x是自變量function f=f1(i,x) g(1)=sqrt(x);if x=0 g(2)=1;elseg(2)=sin(x)/x;endg(3)=4/
35、(1+x2);f=g(i);程序一:function c,g=ncotes(a,b,n,m)% a,b分別為積分的上下限;% n是子區(qū)間的個(gè)數(shù);% m是調(diào)用上面第幾個(gè)被積函數(shù);% 當(dāng)n=1時(shí)計(jì)算梯形公式;當(dāng)n=2時(shí)計(jì)算辛浦生公式,以此類推; i=n; h=(b-a)/i; z=0;for j=0:i x(j+1)=a+j*h; s=1; if j=0 s=s; elsefor k=1:j s=s*k;endendr=1;if i-j=0 r=r;elsefor k=1:(i-j) r=r*k;endendif mod(i-j),2)=1 q=-(i*s*r);else q=i*s*r;endy
36、=1;for k=0:i if k=j y=y*(sym('t')-k); endendl=int(y,0,i);c(j+1)=l/q; z=z+c(j+1)*f1(m,x(j+1);endg=(b-a)*z1)當(dāng)輸入,時(shí),即在matlab命令窗口輸入>> ncotes(0,1,1,2)即可得用梯形公式的積分值和相應(yīng)科特斯系數(shù) 如圖3.12)當(dāng)輸入,時(shí),即在matlab命令窗口輸入>> ncotes(0,1,2,2)即可得用辛浦生公式的積分值和相應(yīng)科特斯系數(shù)如圖3.23)當(dāng)輸入,時(shí),即在matlab命令窗口輸入>> ncotes(0,1,4,
37、2)即可得用科特斯公式的積分值和相應(yīng)科特斯系數(shù)如圖3.3圖 3.1 圖 3.2 圖3.3第二節(jié) 復(fù)化求積公式的matlab實(shí)現(xiàn)一、復(fù)化梯形求積公式的matlab實(shí)現(xiàn)通過(guò)的個(gè)等步長(zhǎng)節(jié)點(diǎn)逼近積分其中,。程序二:function s=trapr1(f,a,b,n)% f是被積函數(shù);% a,b分別為積分的上下限;% n是子區(qū)間的個(gè)數(shù);% s是梯形總面積;h=(b-a)/n;s=0;for k=1:(n-1) x=a+h*k; s=s+feval('f',x);endformat long s=h*(feval('f',a)+feval('f',b)/2+
38、h*s;先用m文件定義一個(gè)名為f.m的函數(shù):function y=f(x)if x=0 y=1;else y=sin(x)/x;end在matlab命令窗口中輸入>> trapr1('f',0,1,4) 回車得到 如圖3.4 圖 3.4若取子區(qū)間的個(gè)數(shù)在matlab命令窗口中輸入>> trapr1('f',0,1,8) 回車得到 如圖3.5 圖3.5二、 復(fù)化辛浦生求積公式的matlab實(shí)現(xiàn)程序三:function s=simpr1(f,a,b,n)% f是被積函數(shù);% a,b分別為積分的上下限;% n是子區(qū)間的個(gè)數(shù);% s是梯形總面積,
39、即所求積分?jǐn)?shù)值;h=(b-a)/(2*n);s1=0;s2=0;for k=1:n x=a+h*(2*k-1); s1=s1+feval('f',x);endfor k=1:(n-1) x=a+h*2*k; s2=s2+feval('f',x);ends=h*(feval('f',a)+feval('f',b)+4*s1+2*s2)/3;先用m文件定義一個(gè)名為f.m的函數(shù):function y=f(x)if x=0 y=1;else y=sin(x)/x;end在matlab命令窗口中輸入>> simpr1('
40、f',0,1,4)回車得到 如圖3.6圖3.6若取子區(qū)間個(gè)數(shù)時(shí)在matlab命令窗口中輸入>> simpr1('f',0,1,8)回車得到 如圖3.7圖3.7三、 復(fù)化科特斯求積公式的matlab實(shí)現(xiàn)程序四:function s=cotespr1(f,a,b,n)% f是被積函數(shù);% a,b分別為積分的上下限;% n是子區(qū)間的個(gè)數(shù);% s是梯形總面積,即所求積分?jǐn)?shù)值;h=(b-a)/n;s1=0;s2=0;s3=0;s4=0;for k=1:n x=a+(4*k-3)*h/4; s1=s1+feval('f',x);endfor k=1:n
41、x=a+(4*k-2)*h/4; s2=s2+feval('f',x);endfor k=1:n x=a+(4*k-1)*h/4; s3=s3+feval('f',x);endfor k=1:(n-1) x=a+4*k*h/4; s4=s4+feval('f',x);ends=h*(7*feval('f',a)+7*feval('f',b)+32*s1+12*s2+32*s3+14*s4)/90;同樣先用m文件定義一個(gè)名為f.m的函數(shù):function y=f(x)if x=0 y=1;else y=sin(x)/
42、x;end在matlab命令窗口中輸入>> cotespr1('f',0,1,4)回車得到 如圖3.8 圖3.8第三節(jié) 龍貝格求積公式的matlab實(shí)現(xiàn)構(gòu)造數(shù)表來(lái)逼近積分其中。表示數(shù)表的最后一行,最后一列的值。程序五:function r,quad,err,h=romber(f,a,b,n,delta)% f是被積函數(shù)% a,b分別是積分的上下限% n+1是t數(shù)表的列數(shù)% delta是允許誤差% r是t數(shù)表% quad是所求積分值m=1;h=b-a;err=1j=0;r=zeros(4,4);r(1,1)=h*(feval('f',a)+feval(
43、'f',b)/2while (err>delta)&(j<n)|(j<4) j=j+1; h=h/2; s=0; for p=1:m x=a+h*(2*p-1); s=s+feval('f',x); end r(j+1,1)=r(j,1)/2+h*s; m=2*m; for k=1:j r(j+1,k+1)=r(j+1,k)+(r(j+1,k)-r(j,k)/(4k-1); end err=abs(r(j,j)-r(j+1,k+1);endquad=r(j+1,j+1)先用m文件定義一個(gè)名為f.m的函數(shù):function y=f(x)i
44、f x=0 y=1;else y=sin(x)/x;end在matlab命令窗口中輸入>> romber('f',0,1,5,0.5*(10(-8)回車得到 如圖3.9 圖3.9第四節(jié) 高斯-勒讓德求積公式的matlab實(shí)現(xiàn)程序六:function a,x=guass1(n) i=n+1; f=(sym('t')2-1)i; f=diff(f,i); t=solve(f); for j=1:i for k=1:i x(j,k)=t(k)(j-1); end if mod(j,2)=0 b(j)=0; else b(j)=2/j; end end x=
45、inv(x); for j=1:i a(j)=0; x(j)=0; for k=1:i a(j)=a(j)+x(j,k)*b(k); x(j)=x(j)+t(j); end x(j)=x(j)/k; endfunction g= guasslegendre (a,b,n,m)% a,b分別是積分的上下限;% n+1為節(jié)點(diǎn)個(gè)數(shù);% m是調(diào)用f1.m中第幾個(gè)被積函數(shù); a,x=guass1(n);g=0;for i=1:n+1 y(i)=(b-a)/2*x(i)+(a+b)/2; f(i)=f1(m,y(i); g=g+(b-a)/2*f(i)*a(i);end用m文件分別把上面兩個(gè)自定義函數(shù)定義
46、為名為guass1.m函數(shù)和guasslegendre.m函數(shù)用m文件定義一個(gè)名為f1.m的函數(shù)function f=f1(i,x) g(1)=sqrt(x);if x=0 g(2)=1;elseg(2)=sin(x)/x;endg(3)=4/(1+x2);f=g(i);在matlab命令窗口中輸入>> guasslegendre (0,1,2,2)>> guasslegendre (0,1,3,2)回車得到 如圖3.10 圖3.10第五節(jié) 各種求積算法的分析比較例1 分別用不同的方法計(jì)算積分,并作比較。下面用各種求積公式分別計(jì)算積分,并給出了相應(yīng)的計(jì)算誤差,進(jìn)行比較,
47、結(jié)果如下:1、用newton-cotes公式當(dāng)n=1時(shí),即用梯形公式,用程序一 在matlab命令窗口中輸入>> ncotes(0,1,1,2) 得0.92703549240395 0.01904757796323當(dāng)n=2時(shí), 即用simpson公式,用程序一在matlab命令窗口中輸入>> ncotes(0,1,2,2)得0.94614588227359 0.000062811906407當(dāng)n=4時(shí), 即用科特斯公式,用程序一在matlab命令窗口中輸入>> ncotes(0,1,4,2)得0.94608300406367 0.00000006630351
48、32、用復(fù)化梯形公式 令h=1/8=0.125,用程序二在matlab命令窗口中輸入>> trapr1('f',0,1,8),得=0.94569086352700.0003922068401823、用復(fù)化辛浦生公式 令h=1/8=0.125,用程序三在matlab命令窗口中輸入>> simpr1('f',0,1,8),得 =0.94608308538495 0.000000015017767 4、用romberg公式 ,用程序五在matlab命令窗口中輸入>> romber('f',0,1,5,0.5*(10(
49、-8),得0.94608307036718 0.0000000000000025、用高斯-勒讓德求積公式, 令,(1) 用2個(gè)節(jié)點(diǎn)的gauss公式0.94604115827633(2) 用3個(gè)節(jié)點(diǎn)的gauss公式,用程序六在matlab命令窗口中輸入>> guasslegendre (0,1,2,2),得0.946083134078473 0.000000063711290算法比較n 此例題的精確值為0.946083070367183n 由例題的各種求積算法可知:n 對(duì)newton-cotes公式,當(dāng)n=1時(shí)只有1位有效數(shù)字,當(dāng)n=2時(shí)有3位有效數(shù)字,當(dāng)n=4時(shí)有7位有效數(shù)字。n 對(duì)復(fù)化梯形公式有2位有效數(shù)字,對(duì)復(fù)化辛浦生公式有7位有效數(shù)字。n 用復(fù)化梯形公式,對(duì)積分區(qū)間二分了11次用2049個(gè)函數(shù)值,才可得到7位準(zhǔn)確數(shù)字。n 用romberg公式對(duì)區(qū)間二分3次,用了9個(gè)函數(shù)值,能得到同樣的結(jié)果;二分4次,用了14個(gè)函數(shù)值,卻能得到14位有效數(shù)字。n 用高斯-勒讓德求積公式僅用了3個(gè)函數(shù)值,就能得到同樣比較精確的6位有效數(shù)字。第六節(jié) 本章小結(jié)本章主要對(duì)各種求積算法,即牛頓-科特斯、復(fù)化求積、龍貝格、高斯-勒讓德求積公式的算法在計(jì)算機(jī)上運(yùn)用matlab軟件進(jìn)行編程實(shí)現(xiàn),從而簡(jiǎn)化了運(yùn)算。并且通過(guò)實(shí)例計(jì)算,誤差
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025蘋果的買賣合同示范文本
- 2025綜合承攬合同加工承攬合同
- 2025《資產(chǎn)托管合同模板》
- 2024年電腦刺繡機(jī)項(xiàng)目資金籌措計(jì)劃書代可行性研究報(bào)告
- 2024年醫(yī)用超聲換能器系列投資申請(qǐng)報(bào)告代可行性研究報(bào)告
- 2025太原市房屋租賃合同書
- 2025餐館租賃合同協(xié)議范本
- 2025設(shè)備長(zhǎng)期租賃合同模板
- 2025年個(gè)人消費(fèi)借款抵押合同
- 2025新天地廣場(chǎng)物業(yè)管理合同調(diào)整新天地廣場(chǎng)
- (二模)濟(jì)寧市2025年4月高考模擬考試地理試卷
- 首都醫(yī)科大學(xué)附屬北京安貞醫(yī)院招聘考試真題2024
- 抽化糞池合同協(xié)議
- 衛(wèi)生院法律法規(guī)知識(shí)培訓(xùn)課件
- (二模)寧波市2024-2025學(xué)年第二學(xué)期高考模擬考試 英語(yǔ)試卷(含答案)+聽力音頻+聽力原文
- 高考備考:100個(gè)高考??家族e(cuò)的文言實(shí)詞(翻譯+正誤辨析)
- 宅基轉(zhuǎn)讓協(xié)議書模板
- 軟件項(xiàng)目交付管理制度
- 江西省人才發(fā)展集團(tuán)有限公司招聘考試內(nèi)容
- 2025年上半年績(jī)溪縣龍川控股集團(tuán)限公司公招聘15人易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 知識(shí)產(chǎn)權(quán)現(xiàn)場(chǎng)審核記錄表模板
評(píng)論
0/150
提交評(píng)論