国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

非線性方程數(shù)值解法的研究

2014-11-21 05:23:50譚振江肖春英
關(guān)鍵詞:二分法迭代法流程圖

譚振江,肖春英

(吉林師范大學計算機學院,吉林四平136000)

0 引言

隨著現(xiàn)代計算機科學技術(shù)的迅猛發(fā)展,一些非線性方程模型在實際問題中頻頻出現(xiàn).經(jīng)常要求非線性方程f(x)=0的根,方程f(x)=0的根叫做函數(shù)f(x)的零點.很多我們非常熟悉的線性模型都是一定條件下的非線性問題簡化得到的.由于非線性方程在各個科學領(lǐng)域與工程計算等領(lǐng)域中地位越來越重要,因此我們有必要就有關(guān)非線性方程的解法做一些探討和研究.

由于非線性方程有其自身的復雜性,在除了少數(shù)特殊的非線性方程外,直接法求得結(jié)果的情況是不可能的,這時我們需要借助于牛頓迭代法、二分法和弦截法進行近似求解.本文簡要的分析了這些數(shù)值算法的計算效果,適用范圍以及優(yōu)劣性等特點,運用實例化進行系統(tǒng)分析[1-3].

(1)引入一個非線性方程的例子,運用三種思想分別進行分析,得到三種解法的根本思想;

(2)把數(shù)學方法與數(shù)學思想提取出來,同時對該數(shù)學方法進行一定程度上的理解;

(3)給出各種算法的循環(huán)思想以及相應的程序?qū)崿F(xiàn)流程圖,展現(xiàn)出一個清晰明了的框架;

(4)基于c語言的基礎(chǔ)上,寫出可執(zhí)行的程序.

1 三種解法的簡單概述

牛頓迭代法(Newton’s method)(又稱為牛頓—拉夫遜方法(Newton-Raphson method)),它是牛頓提出的關(guān)于實數(shù)域和復數(shù)域上近似求解方程的一種方法.多數(shù)方程不存在直接的求根公式,想要求出其精確根非常困難,甚至不可能,從而尋找方程的近似根就顯得格外重要.牛頓迭代法是一種重要和常用的迭代法,使用函數(shù)f(x)的泰勒級數(shù)的前面幾項來尋找f(x)=0方程的根.其基本思想為將非線性函數(shù)f(x)逐步線性化,繼而將非線性方程f(x)=0的求解近似地轉(zhuǎn)化為線性方程求解.此方法廣泛用于計算機編程中.

二分法(或稱對分法、二分區(qū)間法),是求方程f(x)=0近似解的一種常用的簡單直觀的方法.設(shè)函數(shù) f(x)在閉區(qū)間[a,b]上連續(xù),且 f(a)f(b)<0,則根據(jù)連續(xù)函數(shù)的性質(zhì)可知,f(x)=0在(a,b)內(nèi)務必有實根,稱區(qū)間[a,b]為有根區(qū)間,這是高等數(shù)學微積分中的介值定理,也是二分法可以使用的前題條件[4-5].

弦截法也是一種求方程根的基本方法,在計算機編程中有廣泛應用.它的基本思想是:任取兩個數(shù)x1、x2,求得其所對應的函數(shù)值 f(x1)、f(x2).如果兩函數(shù)值同號,則重新取數(shù),直到這兩個函數(shù)值異號為止.連接(x1,f(x1))與(x2,f(x2))這兩點形成的直線與x軸相交于一點x,求得對應的f(x),判斷其與f(x1)、f(x2)中的哪個值同號.如f(x)與f(x1)同號,則f(x)為新的f(x1).將新的f(x1)與f(x2)連接,如此進行循環(huán).這里體現(xiàn)的是極限的思想[6].

2 三種解法的實例化分析過程

2.1 牛頓迭代法

實現(xiàn)牛頓迭代法的數(shù)學思想的基本步驟如下:

(1)給出初始近似根x0及其精度e;

牛頓迭代法對于初值的選取尤其重要,初值要求必須足夠接近精確值才能保證局部收斂.

(2)計算x1=x0-f(x0)/f'(x0);

(3)若|x1-x0|<0,轉(zhuǎn)向(4);否則 x0=x1,轉(zhuǎn)向(2);

(4)輸出滿足精度的根x1,結(jié)束.

算法流程圖如圖1所示.

實例:用牛頓迭代法求方程在1.5附近的根:

程序輸出結(jié)果,如圖2所示.

圖2 牛頓迭代法的程序輸出結(jié)果

2.2 二分法

二分法是求方程近似根的方法中行之有效的最簡單的方法,它的遞推過程簡單易行,便于計算機上實現(xiàn).

實現(xiàn)二分法的數(shù)學思想的基本步驟如下:

(1)輸入有根區(qū)間的端點a,b及預先給定的精度e;

二分法確定有根區(qū)間的一般方法:為了確定方程根的初值,必須圈定根所在的范圍,即圈定根(或稱根的隔離);在此基礎(chǔ)上,采用恰當?shù)臄?shù)值方法確定有一定精度要求的初值;關(guān)于代數(shù)方程,根的個數(shù)(實根或復根)與其次數(shù)相同.對于超越方程,其根的個數(shù)可能是一個、幾個或者無解,沒有固定的圈根方法[7-8].

(2)計算x=(a+b)/2;

(3)若 f(a)f(x)<0,則b=x;否則a=x;

(4)若 |b-a|<e,則輸出方程滿足精度要求的根x,則計算結(jié)束;否則轉(zhuǎn)(2).

二分法算法流程圖如圖3所示.

圖3 二分法算法實現(xiàn)流程圖

實例:用二分法求方程在(-10,10)之間的根:2x3-4x2+3x-6=0.

程序輸出結(jié)果如圖4所示.

圖4 二分法程序輸出結(jié)果

2.3 弦截法

實現(xiàn)弦截法的數(shù)學思想的基本步驟如下:

(1)選擇迭代的初始值x0,x1及其精度e;

(2)計算x2=x1-(f(x1)(x1-0)/f(x1)-f(x0));

(3)若|x2-x1|<0,轉(zhuǎn)向(4);否則 x0=x1,x1=x2,轉(zhuǎn)向(2);

(4)輸出滿足精度的根x2,結(jié)束.

弦截法算法流程圖如圖5所示.

圖5 弦截法算法實現(xiàn)流程圖

實例:用弦截法求方程2x3-4x2+3x-6=0的根.

程序輸出結(jié)果如圖6所示.

圖6 弦截法程序輸出結(jié)果

3 結(jié)語

通常非線性方程根的數(shù)值解法大致分為3個步驟進行:首先判定根的存在性.即方程有沒有根存在,如果有根,有幾個根;其次確定根的分布范圍.即將每一個根用區(qū)間隔離開來;獲得方程各根的初始近似值;最后進行根的精確化,根的初始近似值按某種方法逐步精確化,直到滿足預先要求的精度為止.迭代法具有計算精度高收斂速度快的優(yōu)點,但是需要計算導數(shù)或者矩陣逆的情況,具有一定程度的局限性.針對不同特點的非線性方程選擇不同的解法或者不同解法的綜合使用,探討出一種高效率解法,以便使方程達到快速準確求解[9-12].

[1]高虹霓,曹澤陽.一種新的非線性方程求根迭代法[J].空軍工程大學學報,2002,3(2):84~86.

[2]郭春石,段學新.生化系統(tǒng)的極限環(huán)的數(shù)值計算研究方法[J].吉林師范大學學報(自然科學版),2004,25(3):36~37.

[3]文 武.一階非線性微分方程解法的探討[J].達縣師范高等??茖W校學報(自然科學版),2005,15(5):10~11.

[4]周德亮,陳 躍.MATLAB使用中的幾個問題的解決方法[J].吉林師范大學學報(自然科學版),2007,28(1):19~20.

[5]黃寬娜,劉 徽,李木華.基于信息技術(shù)的高等數(shù)學實驗教學模式研究[J].西南師范大學學報,2011,36(2):210~215.

[6]劉 滔.牛頓法在架空導線應力計算中的應用[J].科技風,2010,23:212,220.

[7]郭曦娟.Jacobi和Gauss-Seidel迭代法收斂性的判定[J].東北重型機械學院學報,1995,19(1):78~82.

[8]程小力.牛頓法的收斂性[J].浙江工業(yè)大學學報,1997,25(3):230~235.

[9]仝秋娟.幾種特殊線性方程組的解法研究[D].西安:西安電子科技大學,2012.

[10]陶 會,曾德強,覃燕梅.求解非線性方程組的一種新的數(shù)值解法[J].內(nèi)江師范學院學報,2012,27(10):11~13.

[11]朱 宏,付 軍.一類Lienard方程周期解的穩(wěn)定性[J].吉林師范大學學報(自然科學版),2006,27(1):70~71.

[12]夏林林,戶晗蕾,吳開騰.非線性方程組數(shù)值方法的研究進展[J].內(nèi)江師范學院學報,2013,28(10):12~17.

猜你喜歡
二分法迭代法流程圖
迭代法求解一類函數(shù)方程的再研究
基于二進制/二分法的ETC狀態(tài)名單查找算法
“二分法”求解加速度的分析策略
“二分法”求解加速度的分析策略
估算的妙招——“二分法”
專利申請審批流程圖
河南科技(2016年8期)2016-09-03 08:08:22
專利申請審批流程圖
河南科技(2016年6期)2016-08-13 08:18:29
迭代法求解約束矩陣方程AXB+CYD=E
預條件SOR迭代法的收斂性及其應用
求解PageRank問題的多步冪法修正的內(nèi)外迭代法
兰州市| 望谟县| 天津市| 黑河市| 辽宁省| 南涧| 德兴市| 德江县| 富川| 和龙市| 张家界市| 乌什县| 灵丘县| 嘉定区| 宝山区| 黄山市| 汝阳县| 江西省| 奉化市| 如东县| 弋阳县| 闻喜县| 乌兰县| 鹤庆县| 烟台市| 留坝县| 汕尾市| 河间市| 新野县| 禄劝| 宁都县| 临泽县| 玉山县| 增城市| 连平县| 大竹县| 黄陵县| 盐津县| 上蔡县| 巨野县| 怀化市|