計(jì)算機(jī)畢業(yè)設(shè)計(jì)(論文)微分方程數(shù)值解_第1頁(yè)
計(jì)算機(jī)畢業(yè)設(shè)計(jì)(論文)微分方程數(shù)值解_第2頁(yè)
計(jì)算機(jī)畢業(yè)設(shè)計(jì)(論文)微分方程數(shù)值解_第3頁(yè)
計(jì)算機(jī)畢業(yè)設(shè)計(jì)(論文)微分方程數(shù)值解_第4頁(yè)
計(jì)算機(jī)畢業(yè)設(shè)計(jì)(論文)微分方程數(shù)值解_第5頁(yè)
已閱讀5頁(yè),還剩39頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、山 東 英 才 學(xué) 院畢 業(yè) 論 文 設(shè) 計(jì) 論 文 題 目: 微分方程數(shù)值解 二級(jí)學(xué)院 : 計(jì)算機(jī)電子信息工程學(xué)院 學(xué)科專(zhuān)業(yè): 計(jì)算機(jī)及應(yīng)用 學(xué) 號(hào): 姓 名: 班 級(jí): 指導(dǎo)教師: 論文提交時(shí)間: 山東英才學(xué)院教務(wù)處制 2011年 3 月 1 日畢業(yè)論文(設(shè)計(jì))內(nèi)容介紹論文(設(shè)計(jì))題 目微分方程數(shù)值解選題時(shí)間2010.11.20完成時(shí)間2011.3.9論文(設(shè)計(jì))字?jǐn)?shù)33840關(guān) 鍵 詞微分方程,周期解,邊值問(wèn)題論文(設(shè)計(jì))題目的來(lái)源、理論和實(shí)踐意義: 微分方程是數(shù)學(xué)科學(xué)聯(lián)系實(shí)際問(wèn)題的主要橋梁之一,它是含有未知函數(shù)及其導(dǎo)數(shù)的方程。常微分方程的求解是現(xiàn)代科學(xué)研究和工程技術(shù)中經(jīng)常遇到的實(shí)際問(wèn)題

2、,然而,從實(shí)際問(wèn)趣中建立出來(lái)的微分方程往往具有非常復(fù)雜的形式,有些解析式難以計(jì)算,有些則根本不能用解析式來(lái)表達(dá),所以利用數(shù)值解法叫求解實(shí)際問(wèn)題就顯得非常重要。論文(設(shè)計(jì))的主要內(nèi)容及創(chuàng)新點(diǎn): 如果未知函數(shù)的自變量是一個(gè),稱(chēng)為常微分方程;自變量多于一個(gè),稱(chēng)為偏微分方程。在科學(xué)研究和工程計(jì)算中碰到的許多微分方程,根本不存在解析解,或者求解析解的代價(jià)很大,求解過(guò)程過(guò)于復(fù)雜,在這種情況下,我們只能借助于數(shù)值計(jì)算來(lái)求方程的數(shù)值解。附:論文(設(shè)計(jì))本人簽名: 年 月 日目 錄 中文摘要5第一章 常微分方程的解6第一節(jié) 常微分方程的基本概念 6 第二節(jié) 常微分方程的12步驟 10第三節(jié) 偏導(dǎo)數(shù)的方程 14第

3、二章 遞增方程的應(yīng)用17第一節(jié) 遞增數(shù)列17第二節(jié) 數(shù)列的極限20第三章 與積分有關(guān)的數(shù)列的極限問(wèn)題24第一節(jié) 積分的應(yīng)用24第二節(jié) 單調(diào)定性的松弛法26第三節(jié) 松弛算法法的證明33第四章 簡(jiǎn)單的單步法及基本概念36 第一節(jié) 解初值問(wèn)題的梯形法36第二節(jié) 左矩形公式39 第三節(jié) 隱式 euler方法 40第4節(jié) 預(yù)估 校正euler方法 42參考文獻(xiàn)45摘要:常微分方程的形成和發(fā)展是與力學(xué)、天文學(xué)、物理學(xué)及其他自然科學(xué)技術(shù)的發(fā)展互相促進(jìn)和互相推動(dòng)的。本文第一章講述了常微分方程的發(fā)展歷史,第二章介紹了一系列常微分方程的周期解和邊值問(wèn)題,說(shuō)明了其研究現(xiàn)狀,第三章舉例說(shuō)明了其在生態(tài)學(xué)和軍事上的應(yīng)用。

4、無(wú)論在數(shù)學(xué)研究還是在自然科學(xué)以及其他應(yīng)用科學(xué),常微分方程都顯現(xiàn)出其重要的理論和應(yīng)用價(jià)值。隨著科學(xué)技術(shù)的發(fā)展和社會(huì)進(jìn)步,常微分方程的理論和應(yīng)用不斷擴(kuò)大和深入,其作用也越來(lái)越被人們所重視。在數(shù)學(xué)應(yīng)用方面,它有著比通常導(dǎo)數(shù)更廣泛的應(yīng)用,對(duì)于導(dǎo)數(shù)不存在而對(duì)稱(chēng)導(dǎo)數(shù)存在的函數(shù),我們就可以用對(duì)稱(chēng)導(dǎo)數(shù)研究此類(lèi)函數(shù)的一些重要性質(zhì). 常微分方程研究的內(nèi)容包括解的基本性質(zhì)(如存在性、惟一性等)、解的解析表達(dá)式或近似的解析表達(dá)式、解的定性性質(zhì)以及解的數(shù)值解法。常微分方程的形成和發(fā)展是與力學(xué)、天文學(xué)、物理學(xué)及其他自然科學(xué)技術(shù)的發(fā)展互相促進(jìn)和互相推動(dòng)的。數(shù)學(xué)的其他分支的新發(fā)展如復(fù)變函數(shù)、李群、組合拓?fù)鋵W(xué)等都給常微分方程的

5、發(fā)展以深刻的影響。關(guān)鍵詞:微分方程,周期解,邊值問(wèn)題; 一 常微分方程的解(一):常微分方程的基本概念1常微分方程初值問(wèn)題的一般提法常微分方程初值問(wèn)題的一般提法是求函數(shù),滿(mǎn)足其中是已知函數(shù),是已知值。假設(shè)在區(qū)域上滿(mǎn)足條件:(1)在上連續(xù);(2)在上關(guān)于變量滿(mǎn)足lipschitz條件:, (1.3) 其中常數(shù)稱(chēng)為lipschitz常數(shù)。我們簡(jiǎn)稱(chēng)條件(1)、(2)的基本條件。由常微分方程的基本理論,我們有:定理1 當(dāng)在上滿(mǎn)足基本條件時(shí),一階常微分方程初值問(wèn)題(1.1)、(1.2)對(duì)任意給定存在唯一解在上連續(xù)可微。定義1 方程(1.1)、(1.2)的解稱(chēng)為適定的,若存在常數(shù)和,對(duì)任意滿(mǎn)足條件及的和,

6、常微分方程初值問(wèn)題 (1.4)存在唯一解,且適定問(wèn)題的解連續(xù)依賴(lài)于(1.1)右端的和初值。由常微分方程的基本理論,還有:定理2 當(dāng)在上滿(mǎn)足基本條件時(shí),微分方程(1.1)、(1.2)的解是適定的。我們?cè)诒菊轮屑僭O(shè)在上滿(mǎn)足基本條件,從而(1.1)、(1.2)的解存在且適定。一般的一階常微分方程組初值問(wèn)題是求解 (1.5)(15)的向量形式是 (1.5)其中記。類(lèi)似于定理1和定理2,我們有:定理3 若映射滿(mǎn)足條件(1) 在上是從到上的連續(xù)映射;(2) 在上關(guān)于滿(mǎn)足lipschits條件;任意。則常微分方程組初值問(wèn)題(1.5)存在的唯一的連續(xù)可微解而且解是適定的。高階常微分方程初值問(wèn)題一般為 (1.6

7、)其中是給定多元函數(shù),為給定值。引進(jìn)新的變量函數(shù) (1.7.)則初值問(wèn)題(1.6)化成了一階常微分方程組初值問(wèn)題通過(guò)求解(1.8)得到(1.6)的解。2.初值問(wèn)題數(shù)值解基本概念初值問(wèn)題的數(shù)值解法,是通過(guò)微分方程離散化而給出解在某些節(jié)點(diǎn)上的近似值。在上引入節(jié)點(diǎn)稱(chēng)為步長(zhǎng)。在多數(shù)情況下,采用等步長(zhǎng),即。記(1.1),(1.2)的為準(zhǔn)確解為,記的近似值為,記為.。 求值問(wèn)題數(shù)值解的方法是步進(jìn)法,即在計(jì)算出后計(jì)算。數(shù)值的方法有單步與單步法之分。單步法在計(jì)算時(shí)只利用而多步法在計(jì)算時(shí)不僅要利用還要利用前面已算出的若干個(gè)。我們稱(chēng)要用到的多步法為步方法。單步法可以看作多步法,但兩者有很大差別。步方法只能用于的計(jì)

8、算,要用其它的方法計(jì)算;而且在穩(wěn)定性上單性法比的多步法容易分析;此外單步法容易改變步長(zhǎng)。單步法和多步法又都有顯式方法和穩(wěn)式方法之分。單步顯式法的計(jì)算公式可寫(xiě)成 (1.9)隱式單步法的計(jì)算公式可寫(xiě)成 (1.10)在(1.10)中右端項(xiàng)顯含。從而(1.10)是的方程式,要通過(guò)解方程求出。 顯式多步法計(jì)算公式為 (1.11) 而隱式多步法計(jì)算公式為 (1.12)右端項(xiàng)含。多步法中一類(lèi)常用方法是線性多步法 (1.13)其中是獨(dú)立于和的常數(shù)。時(shí)(1.13)是顯式的,時(shí)是隱式的。(二):常微分方程的12步驟我們常分12步,來(lái)說(shuō)明微分方程的解法。包括一個(gè)自變量和它的未知函數(shù)以及未知函數(shù)的微商的等式。運(yùn)動(dòng)著的

9、物體的位置(x,y,z)是隨時(shí)間t的變化而變化的。按牛頓運(yùn)動(dòng)定律,力等于質(zhì)量乘加速度,它牽涉到x、y、z對(duì)于t的二階微商, 這就可用常微分方程表示。例如,在大地上的自由落體運(yùn)動(dòng),可以用下面的常微分方程來(lái)描述: (1)式中g(shù)是重力加速度,z是鉛直位置。 一般說(shuō)來(lái),如果y是自變量x的函數(shù),則y的常微分方程可以表達(dá)為 (2) 式中f是它所依賴(lài)的n+2個(gè)變量的函數(shù),n為正整數(shù)。由自變量x的n個(gè)未知函數(shù)y1,y2,ym的m個(gè)常微分方程 (3) 所形成的一組方程稱(chēng)為常微分方程組,其中n1,n2,,nm為非負(fù)整數(shù)。如果一個(gè)常微分方程(組)關(guān)于所有未知函數(shù)及其各階微商都是線性的,則稱(chēng)為線性常微分方程(組);否

10、則,稱(chēng)為非線性常微分方程(組)。如果能由(2)解出最高階微商,則得到 (4) 式中是它所依賴(lài)的n+1個(gè)自變量的函數(shù)。這種就最高階微商解出的微分方程,稱(chēng)為正規(guī)型微分方程;而稱(chēng)(2)為隱微分方程。任一正規(guī)型微分方程(4)與微分方程組 是等價(jià)的,因此(4)總可以化成一個(gè)與之等價(jià)而形如(5) 的正規(guī)型方程組。對(duì)于微分方程組(3),也有上述相似的結(jié)果,即任一正規(guī)型微分方程組也可化為等價(jià)的而形如(5)的正規(guī)型方程組。 滿(mǎn)足常微分方程的函數(shù)稱(chēng)為常微分方程的解,也就是說(shuō),對(duì)方程(2),如果有函數(shù)(x),在x軸的某區(qū)間i上有定義,具有從1階到n階的微商且滿(mǎn)足 對(duì)所有xi,則稱(chēng)(t)為方程(2)在區(qū)間i上的解。當(dāng)

11、前計(jì)算機(jī)的發(fā)展為常微分方程的應(yīng)用及理論研究提供了非常有力的工具。質(zhì)點(diǎn)動(dòng)力學(xué)是這個(gè)階段研究的問(wèn)題的主要來(lái)源之一。例如牛頓建立了太陽(yáng)系行星運(yùn)動(dòng)方程 (6) 并求出其通解的顯式解析表達(dá)式。這里t是時(shí)間,r(t)=(x(t),y(t),z(t)是以太陽(yáng)為原點(diǎn)的直角坐標(biāo)系中行星的位置,g是萬(wàn)有引力常數(shù),m是太陽(yáng)質(zhì)量。 這個(gè)階段主要是求常微分方程的通解,亦即對(duì)于方程(2)求含有n個(gè)任意常數(shù)c1,c2,cn的形如 (7) 的解。對(duì)于方程組(3),則要求含有n1+n2+nm個(gè)任意常數(shù)的解組。 這個(gè)階段的成果有:g.w.萊布尼茨關(guān)于齊次方程和線性方程的通解;雅各布第一·伯努利提出并解決、現(xiàn)命名為伯努利

12、方程的特殊非線性方程 (8) l.歐拉等得到的常系數(shù)線性常微分方程的通解;以及利用變換xet將歐拉方程 (9) 化為常系數(shù)線性方程。 但是,求顯式通解的可能性十分有限,上述努力經(jīng)過(guò)一段時(shí)間便停滯下來(lái)。當(dāng)時(shí)若干實(shí)際問(wèn)題又迫切需要解決,類(lèi)似地,1841年劉維爾證明了下述的黎卡提方程 (10) 有且只有在v為非負(fù)整數(shù)時(shí)才有“初等解”,亦即經(jīng)過(guò)有限次的初等運(yùn)算求得的顯式解,從而結(jié)束了一般常微分方程求通解的企圖。極限環(huán),即孤立周期解,已成為許多實(shí)際問(wèn)題的核心,例如在無(wú)線電技術(shù)中的范德坡方程 (11) 便是非線性方程產(chǎn)生孤立周期振蕩的典型例子。奇點(diǎn)大范圍分布的研究與組合拓?fù)鋵W(xué)的研究在龐加萊的工作中是雙生的

13、兄弟關(guān)系。例如工程控制論中火箭發(fā)動(dòng)機(jī)中燃燒過(guò)程由于時(shí)滯現(xiàn)象而產(chǎn)生的帶有時(shí)滯的常微分方程或稱(chēng)微分差分方程 (12) 這里不僅依賴(lài)于t時(shí)的(t),而且還依賴(lài)于(t-)時(shí)的(t-)和(t-)。這樣便產(chǎn)生了微分差分方程,以及更廣義的泛函微分方程。又如由于空氣中的湍流對(duì)于飛行中飛機(jī)機(jī)翼所引起的干擾對(duì)飛機(jī)運(yùn)動(dòng)的影響,這里常微分方程帶有隨機(jī)攝動(dòng)項(xiàng),如 式中x是隨機(jī)輸入,是反饋參數(shù)。這類(lèi)問(wèn)題產(chǎn)生了常微分方程和概率論之間的一個(gè)新分支隨機(jī)微分方程。 (三):偏導(dǎo)數(shù)的方程含有未知函數(shù)及其各階偏導(dǎo)數(shù)的方程。如(余類(lèi)此)uta2(uxxuyyuzz)0(1)其中uu(x,y,z,t)為未知函數(shù) ,x ,y,z,t是自變

14、 量。18世紀(jì) ,數(shù)學(xué)家們已開(kāi)始用偏 微分方程來(lái)研究問(wèn)題 。方程(1)便是用來(lái)描述熱的傳導(dǎo)規(guī)律的。1746年 ,j.ler.達(dá)朗貝爾給出了一維波動(dòng)方程(兩端固定的弦的振動(dòng)問(wèn)題): 由于弦的兩端固定,故在x0和xl處(l為弦的長(zhǎng)度)應(yīng)滿(mǎn)足邊界條件: u(0,t)0 u(l,t)0 t0(3)又當(dāng)t0時(shí)的狀態(tài),即初始條件是 u(0,x)j(x) ut(0,x)(x)(4) 例 設(shè),.證明:數(shù)列的極限存在并求出此極限.例1可以作如下推廣:命題1 若,則數(shù)列的極限存在且為.證明 由知.由算術(shù)幾何平均不等式知,假設(shè),再次用算術(shù)幾何平均不等式知,由數(shù)學(xué)歸納法知,對(duì)任意正整數(shù)均有,因而數(shù)列有界.又當(dāng)時(shí),故,

15、即數(shù)列單調(diào)遞增.由數(shù)列的單調(diào)有界定理知存在,設(shè)為,對(duì)兩邊同時(shí)取極限得:,可解得或(舍去).故.注 由命題1立得例1的極限存在且為.例 證明數(shù)列收斂,其中,并求極限.通過(guò)觀察、猜想、分析可將例2推廣為以下更一般的形式:命題2 若,定義,則數(shù)列存在極限且為.證明 由可知,當(dāng)且僅當(dāng)時(shí)取等號(hào).設(shè),則=,當(dāng)且僅當(dāng)時(shí)取等號(hào).二 遞增方程的應(yīng)用(一):遞增數(shù)列由數(shù)學(xué)歸納法可知,對(duì)一切自然數(shù)均有成立.所以數(shù)列是單調(diào)遞增且有上界的數(shù)列.(i)當(dāng)時(shí),同理可證數(shù)列是單調(diào)遞減且有下界的數(shù)列.由(i)可知數(shù)列是單調(diào)有界數(shù)列,從而命題3得證.注 由以上第一章的命題可知數(shù)列是單調(diào)有界數(shù)列,則必收斂,設(shè),對(duì)兩邊同時(shí)取極限的得

16、: 即 .所以是方程的一個(gè)正根,從而例3得證.例1 已知,.證明存在并求其值.例1可以作如下推廣:命題1 若,則數(shù)列極限存在且為的正根.證明 由得.又,則.由遞推關(guān)系知.因函數(shù)是遞增函數(shù),則由知 與 的符號(hào)相同.而 的符號(hào)又與 的符號(hào)相同,故依次下去便知最終與 的符號(hào)相同.而,即,所以 ,從而 ,于是便有,故數(shù)列是單調(diào)遞增數(shù)列.又,假設(shè)當(dāng)時(shí)都有 成立,則當(dāng) 時(shí),由數(shù)學(xué)歸納法知,對(duì)一切自然樹(shù)都有 ,即數(shù)列有界.由數(shù)列的單調(diào)有界定理知數(shù)列必存在極限,設(shè),對(duì)兩邊同時(shí)取極限的得 即 .所以數(shù)列收斂于方程的正根.例2用經(jīng)典四階r-k方法計(jì)算初值問(wèn)題 步長(zhǎng)取h=0.1及0.2,給出計(jì)算誤差并分析其穩(wěn)定性.

17、解 本題直接按r-k方法的公式計(jì)算.因精確解為,其計(jì)算誤差如表所示.圖2-1從計(jì)算結(jié)果看到,h=0.2時(shí)誤差很大,這是由于在=-20,h=0.2時(shí)h=-4,而四階r-k方法的絕對(duì)穩(wěn)定區(qū)間為-2.785,0,故h=0.2時(shí)計(jì)算不穩(wěn)定,誤差很大.而h=0.1時(shí)=-2,其值在絕對(duì)穩(wěn)定區(qū)間-2.785,0內(nèi),計(jì)算穩(wěn)定,故結(jié)果是可靠的.(二):數(shù)列的極限推論 若, ,則數(shù)列的極限存在且收斂于方程的一個(gè)正根,即 .注 利用該推論易知例4中的數(shù)列的極限存在且為3.1文4、5中的一些題也可由此推論直接得出.例1設(shè),數(shù)列、分別定義為, ,證明.例1可以作如下推廣:命題 設(shè),數(shù)列、分別定義為, ,則仍有 成立.證

18、明 由已知 可得 ,.假設(shè)當(dāng) 時(shí)均有,則當(dāng)時(shí)有, ,由數(shù)學(xué)歸納法知,對(duì)任意自然數(shù)都有,成立.由算術(shù)幾何平均不等式知,當(dāng)且僅當(dāng)時(shí)取等號(hào).而當(dāng)時(shí), 即,即.故有.而當(dāng)時(shí),由于,所以就有, ,因此對(duì)任意自然數(shù)都有下式成立,所以數(shù)列、均為單調(diào)有界數(shù)列.故由數(shù)列的單調(diào)有界定理知、存在,分別設(shè)為、,對(duì)兩邊同時(shí)取極限得,可解得 ,即.注 例5是命題5的特殊形式,證明類(lèi)似.通過(guò)以上這簡(jiǎn)單的五個(gè)例子很容易看出它們是各自推廣后命題參量的特殊值,還有好多題都可直接根據(jù)這些命題很快得出其極限值.例2將例1的初值問(wèn)題用修正的milne-hamming預(yù)測(cè)-校正公式計(jì)算及,初值,仍用已算出的精確解,即,給出計(jì)算結(jié)果及誤差

19、 從結(jié)果看,此方法誤差比四階adams隱式法和四階hamming方法小,這與理論分析一致. 講解:線性多步法的局部截?cái)嗾`差定義為與單步法相似,可表示為三:與積分有關(guān)的數(shù)列的極限問(wèn)題(一):積分的應(yīng)用本節(jié)主要是就一些與積分有一定聯(lián)系的數(shù)列舉了兩個(gè)例子,判斷它們的方法也主要是單調(diào)有界定理,進(jìn)一步證明了單調(diào)有界定理在判斷數(shù)列收斂即極限存在問(wèn)題中的應(yīng)用.例1證明 存在.證明 設(shè),可知在上非負(fù)單調(diào)遞減,所以,即,亦即,所以數(shù)列有界.又= =0,即,所以數(shù)列是單調(diào)遞減的數(shù)列.由數(shù)列的單調(diào)有界定理知,數(shù)列的極限存在,也就是存在.例2設(shè)連續(xù)函數(shù)在上是正的單調(diào)遞減的函數(shù),且,證明數(shù)列收斂.證明 由假設(shè)及積分中值

20、定理有 =,其中.又在上是正的單調(diào)遞減的,所以,從而,即數(shù)列是單調(diào)遞減的數(shù)列.又=,其中,所以.又因?yàn)?所以,所以單調(diào)遞減且有下界.所以由單調(diào)有界定理知存在,即數(shù)列收斂.(二):?jiǎn)握{(diào)定性的松弛法通過(guò)本文可以看到單調(diào)有界定理在求一些有特殊形式的極限時(shí)常常很有效.解邊值問(wèn)題的松弛法     方法:     public   class   d16r1f         void   sor(double   a,   double   b,   do

21、uble   c,       double   d,   double   e,   double   f,       double   u,   int   jmax,   double   rjac)         int   n,   j,   l;     double   maxits,   eps,

22、  zero,   half,   qtr,   one,   anormf,   omega,   aaa,   bbb;     double   resid,   anorm;                     maxits   =   1000;              

23、      eps   =   0.00001;                     zero   =   0.0;                     half   =   0.5;                 &#

24、160;   qtr   =   0.25;                     one   =   1.0;                     anormf   =   zero;                    

25、; for   (j   =   2;   j   <=   jmax   -   1;   j+)                             for   (l   =   2;   l   <=   jmax   -   1;   l+)  

26、                                   anormf   =   anormf   +   math.abs(fjl);                     omega   =   one;       &

27、#160;             for   (n   =   1;   n   <=   maxits;   n+)                                                 ano

28、rm   =   zero;                             for   (j   =   2;   j   <=   jmax   -   1;   j+)                       

29、60;                                         for   (l   =   2;   l   <=   jmax   -   1;   l+)                 

30、60;                                                               if   (j   +   l)   %   2)   =(   n   %

31、  2)                                                                                   

32、60;             aaa   =   ajl   *   uj   +   1l   +   bjl   *   uj   -   1l;                                      

33、              bbb   =   cjl   *   ujl   +   1   +   djl   *   ujl   -   1;                                     

34、0;               resid   =   aaa   +   bbb   +   ejl   *   ujl   -   fjl;                                         &

35、#160;           anorm   =   anorm   +   math.abs(resid);                                                     ujl   = 

36、60; ujl   -   omega   *   resid   /   ejl;                                                                 

37、60;                                                                       if   (n   =   1   )   

38、0;                                 omega   =   one   /   (one   -   half   *   rjac   *   rjac);                     

39、60;       else                                     omega   =   one   /   (one   -   qtr   *   rjac   *   rjac*   omega);      

40、;                       if   (n   >   1)   &&   (anorm   <   eps   *   anormf)   )   return;                        

41、                 system.out.println(“   maxits   exceeded”);                     system.exit(1);                      例子:     import &#

42、160; java.text.*;     public   class   d16r1         public   static   void   main   (string   args)         /program   d16r1     /driver   for   routine   sor     int  

43、jmax,   i,   j,   midl;     double   pi,   rjac,   aaa;     double   a   =   new   double1212;     double   b   =   new   double1212;     double   c   =   new   double121

44、2;     double   d   =   new   double1212;     double   e   =   new   double1212;     double   f   =   new   double1212;     double   u   =   new   double1212;     d16r1f

45、  g   =   new   d16r1f();     decimalformat   form   =   new   decimalformat(“0.00”);     jmax   =   11;     pi   =   3.1415926;     for   (i   =   1;   i   <=   jmax;

46、   i+)                                 for   (j   =   1;   j   <=   jmax;   j+)                            

47、             aij   =   1.0;                                     bij   =   1.0;                       

48、0;             cij   =   1.0;                                     dij   =   1.0;                       &#

49、160;             eij   =   -4.0;                                     fij   =   0.0;                      

50、               uij   =   0.0;                                     midl   =   jmax   /   2   +   1;     fmidlmidl   = 

51、60; 2.0;     rjac   =   math.cos(pi   /   jmax);     g.sor(a,   b,   c,   d,   e,   f,   u,   jmax,   rjac);     system.out.println();     system.out.println(“sor   solution:”);     sys

52、tem.out.println();     for   (i   =   1;   i   <=   jmax;   i+)                 for   (j   =   1;   j   <=   jmax;   j+)               

53、0;             system.out.print(form.format(uij)   +   “     “);             system.out.println();         system.out.println();     system.out.println(“test   that   sulotion 

54、0; satisfies   difference   eqns:”);     system.out.println();     for   (i   =   2;   i   <=   jmax   -   1;   i+)         for   (j   =   2;   j   <=   jmax   - &#

55、160; 1;   j+)         aaa   =   ui   +   1j   +   ui   -   1j   +   uij   +   1   +   uij   -   1;     fij   =   aaa   -   4.0   *   uij;     

56、60;   for   (j   =   2;   j   <=   jmax   -   1;   j+)     system.out.print(form.format(fij)   +   “     “);     system.out.println();                運(yùn)行結(jié)果:   

57、0; sor   solution:         0.00     0.00     0.00     0.00     0.00     0.00     0.00     0.00     0.00     0.00     0.00         0.00     -0.02

58、    -0.04     -0.06     -0.08     -0.09     -0.08     -0.06     -0.04     -0.02     0.00         0.00     -0.04     -0.09     -0.13     -0.17   &

59、#160; -0.19     -0.17     -0.13     -0.09     -0.04     0.00         0.00     -0.06     -0.13     -0.20     -0.28     -0.32     -0.28     -0.20     -0

60、.13     -0.06     0.00         0.00     -0.08     -0.17     -0.28     -0.41     -0.55     -0.41     -0.28     -0.17     -0.08     0.00       

61、0; 0.00     -0.09     -0.19     -0.32     -0.55     -1.05     -0.55     -0.32     -0.19     -0.09     0.00         0.00     -0.08     -0.17     -0.28

62、    -0.41     -0.55     -0.41     -0.28     -0.17     -0.08     0.00         0.00     -0.06     -0.13     -0.20     -0.28     -0.32     -0.28   &

63、#160; -0.20     -0.13     -0.06     0.00         0.00     -0.04     -0.09     -0.13     -0.17     -0.19     -0.17     -0.13     -0.09     -0.04     0.

64、00         0.00     -0.02     -0.04     -0.06     -0.08     -0.09     -0.08     -0.06     -0.04     -0.02     0.00         0.00     0.00    

65、 0.00     0.00     0.00     0.00     0.00     0.00     0.00     0.00     0.00             test   that   sulotion   satisfies   difference   eqns:      

66、;   0.00     0.00     0.00     0.00     0.00     0.00     0.00     0.00     0.00         0.00     -0.00     0.00     -0.00     0.00     -0.00 

67、60;   0.00     -0.00     0.00         0.00     0.00     -0.00     0.00     -0.00     0.00     -0.00     0.00     0.00         0.00     -0.00 

68、0;   0.00     -0.00     0.00     -0.00     0.00     -0.00     0.00         0.00     0.00     -0.00     0.00     2.00     0.00     -0.00     0.00

69、    0.00         0.00     -0.00     0.00     -0.00     0.00     -0.00     0.00     -0.00     0.00         0.00     0.00     -0.00     0.00 &

70、#160;   -0.00     0.00     -0.00     0.00     0.00         0.00     -0.00     0.00     -0.00     0.00     -0.00     0.00     -0.00     0.00     &

71、#160;   0.00     0.00     0.00     0.00     0.00     0.00     0.00     0.00     0.00(三):松弛算法法的證明證明 令,由已知條件,不妨設(shè)在上嚴(yán)格增加,于是對(duì),必有,使得,且,即(1) 若,則結(jié)論成立. (2) ,則令由于-=所以在上連續(xù),又.,故由連續(xù)函數(shù)介值定理知存在,使得,即.再記即得結(jié)論.(3)若,則令用與情形(2)類(lèi)似的方法可證得存在,

72、使得. 即.再記,即得結(jié)論. 當(dāng)(2)中的時(shí),即得推論1 設(shè)函數(shù)在內(nèi)單調(diào)連續(xù),則對(duì),使得 .令(2)式中的即得推論2 設(shè)函數(shù)在內(nèi)單調(diào)連續(xù),在內(nèi)連續(xù),,且不變號(hào),則對(duì),使得.推論3 若ca,b且,則.定理:設(shè)函數(shù)在上有階連續(xù)導(dǎo)數(shù),且函數(shù)在上有階連續(xù)導(dǎo)數(shù),且,若是由(1)式所確定的,則有四 簡(jiǎn)單的單步法及基本概念(一):解初值問(wèn)題的梯形方法若在(3.4)的積分中用梯形公式,則得(3.6)稱(chēng)為梯形方法.上述三個(gè)公式(3.2),(3.5)及(3.6)都是由計(jì)算,這種只用前一步即可算出的公式稱(chēng)為單步法,其中(3.2)可由逐次求出的值,稱(chēng)為顯式方法,而(3.5)及(3.6)右端含有當(dāng)f對(duì)y非線性時(shí)它不能直

73、接求出,此時(shí)應(yīng)把它看作一個(gè)方程,求解,這類(lèi)方法稱(chēng)為穩(wěn)式方法.此時(shí)可將(3.5)或(3.6)寫(xiě)成不動(dòng)點(diǎn)形式的方程這里對(duì)式(3.5)有,對(duì)(7.2.6)則,g與無(wú)關(guān),可構(gòu)造迭代法(3.7)由于對(duì)y滿(mǎn)足條件(3.2),故有當(dāng)或,迭代法(3.7)收斂到,因此只要步長(zhǎng)h足夠小,就可保證迭代(3.7)收斂.對(duì)后退euler法(3.5),當(dāng)時(shí)迭代收斂,對(duì)梯形法(3.6),當(dāng)時(shí)迭代序列收斂.例3.1用euler法、隱式euler法、梯形法解取h=0.1,計(jì)算到x=0.5,并與精確解比較.解 本題可直接用給出公式計(jì)算.由于,euler法的計(jì)算公式為n=0時(shí),.其余n=1,2,3,4的計(jì)算結(jié)果見(jiàn)表7-1.對(duì)隱式euler法,計(jì)算公式為解出當(dāng)n=0時(shí),.其余n=1,2,3,4的計(jì)算結(jié)果見(jiàn)表7-1.表4-2的三種方法及精確解的計(jì)算結(jié)果 圖4-2對(duì)梯形法,計(jì)算公式為證明 作輔助函數(shù) 一方面,由已知條件及法則有= (1)另一方面,又

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論