【正文】
基于Matlab的數(shù)值逼近算法仿真設(shè)計(jì)與實(shí)現(xiàn)摘 要:數(shù)值計(jì)算方法是計(jì)算機(jī)及相關(guān)專業(yè)的重要基礎(chǔ)理論之一,是程序設(shè)計(jì)和軟件開發(fā)的基礎(chǔ)。Matlab是當(dāng)前最為優(yōu)秀的科學(xué)計(jì)算軟件之一,也是許多科學(xué)領(lǐng)域中分析、應(yīng)用和開發(fā)的基本工具。經(jīng)過多年的發(fā)展,Matlab已經(jīng)成為一種功能全面的軟件,幾乎可以解決科學(xué)計(jì)算中的所有問題。由于其編寫簡(jiǎn)單,代碼效率高,Matlab廣泛應(yīng)用于計(jì)算機(jī)通信、信號(hào)處理、數(shù)值計(jì)算等領(lǐng)域。Matlab是一種面向科學(xué)與工程計(jì)算的高級(jí)語言,它提供了強(qiáng)大的矩陣處理和繪圖功能,給出了一個(gè)融合計(jì)算、可視化和程序設(shè)計(jì)的交互環(huán)境,操作簡(jiǎn)便。本設(shè)計(jì)以Matlab為編程語言和開發(fā)環(huán)境,對(duì)數(shù)值逼近算法進(jìn)行編程實(shí)現(xiàn),并進(jìn)行圖形化描述。所有結(jié)果表明,采用不同的逼近方法,利用Matlab編程可以簡(jiǎn)單、有效地實(shí)現(xiàn)函數(shù)逼近。關(guān)鍵詞:Matlab; 函數(shù)逼近; 拉格朗日插值; 曲線擬合Design and Realization of numerical Approximation algorithm based on Matlab Abstract: Numerical calculation method is a basic theory of professional puter and related, it is a basic of programming and software development. Matlab is one of the most outstanding scientific calculation software, but also is many science analysis, application and development of the basic tools.After years of development, Matlab has bee fully functional software。 it can solve almost all problems in scientific puting. Due to its simple preparation, high efficiency, Matlab is widely applied in the puter munication, signal processing, numerical calculation and other areas. Matlab is oriented to science and engineering calculation of highlevel language。 it provides strong matrix processing and drawing functions, gives a fusion calculation, visualization and the program design of the interactive environment, simple operation.The design use Matlab as programming language and development environment, the numerical approximation algorithm for programming, and a graphical description. All the results show that, using different approximation methods, the use of Matlab programming can be simple, effective realization of function approximation.Key words: Matlab, function approximation, Lagrange interpolation, curve fitting目 錄第1章 緒 論 1 背景 1 Matlab的發(fā)展 1 數(shù)值逼近 2 研究意義 3 論文結(jié)構(gòu) 3第2章 MATLAB簡(jiǎn)介 4 基本功能 4 基本應(yīng)用 5 系統(tǒng)結(jié)構(gòu) 6 MATLAB開發(fā)環(huán)境 6 MATLAB數(shù)學(xué)函數(shù)庫 7 MATLAB語言 7 MATLAB圖形處理系統(tǒng) 7 MATLAB應(yīng)用程序接口 7 特點(diǎn)與優(yōu)勢(shì) 8 特點(diǎn) 8 優(yōu)勢(shì) 8第3章 數(shù)值逼近 12 數(shù)值擬合 12 直線擬合 13 曲線擬合 15 多項(xiàng)式擬合 15 插值逼近 16 定義與發(fā)展 16 主要內(nèi)涵 16 基本類型 17第4章 基于matlab的數(shù)值逼近程序設(shè)計(jì) 19 分段插值 19 定義 19 分段插值計(jì)算 20 基于matlab分段插值實(shí)現(xiàn) 20 小結(jié) 21 拉格朗日插值 21 線性插值 21 二次朗格拉日插值 23 n次拉格朗日插值 24 拉格朗日計(jì)算 26 基于matlab的拉格朗日程序設(shè)計(jì) 26 rung(龍格)現(xiàn)象 27 三次樣條插值 29 定義 29 三次樣條插值計(jì)算 30 基于matlab三次樣條插值實(shí)現(xiàn) 31 小結(jié) 32 擬合 33 定義 33 基于matlab的擬合的實(shí)現(xiàn) 33 小結(jié) 35 35第5章 基于matlab的數(shù)值逼近程序測(cè)試 38 插值逼近程序測(cè)試 38 擬合程序測(cè)試 41 各種逼近應(yīng)用 42結(jié) 論 45致 謝 46參考文獻(xiàn) 47第1章 緒 論在工程分析和科學(xué)研究中,常需要根據(jù)一些測(cè)試數(shù)據(jù)求得自變量和因變量的近似函數(shù)關(guān)系式.來完成其他設(shè)計(jì)計(jì)算。這就要求用簡(jiǎn)單的函數(shù)(z)近似地代替函數(shù)廠(z),這種近似代替稱為函數(shù)逼近,它是計(jì)算數(shù)學(xué)中最基本的概念和方法之一,在圖像處理、逆向工程以及測(cè)試數(shù)據(jù)的處理等領(lǐng)域應(yīng)用得相當(dāng)廣泛。函數(shù)逼近的方法包括插值、擬合與逼近,這些算法可以通過C,C++以及Fortran等語言編程實(shí)現(xiàn).但是計(jì)算過程都比較復(fù)雜。Matlab是一種面向科學(xué)與工程計(jì)算的高級(jí)語言,它提供了強(qiáng)大的矩陣處理和繪圖功能,給出了一個(gè)融合計(jì)算、可視化和程序設(shè)計(jì)的交互環(huán)境,操作簡(jiǎn)便。能高效求解各種復(fù)雜工程問題并實(shí)現(xiàn)計(jì)算結(jié)果的可視化。Matlab本身已經(jīng)包含了一些插值和擬合的函數(shù),能夠方便地實(shí)現(xiàn)函數(shù)逼近。此外,基于Matlab還可以利用神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)任意非線性函數(shù)的逼近。這里在介紹上述逼近算法的基礎(chǔ)上結(jié)合實(shí)例闡述了這些方法的具體應(yīng)用。 背景 Matlab的發(fā)展MATLAB是由美國(guó)mathworks公司發(fā)布的主要面對(duì)科學(xué)計(jì)算、可視化以及交互式程序設(shè)計(jì)的高科技計(jì)算環(huán)境。它將數(shù)值分析、矩陣計(jì)算、科學(xué)數(shù)據(jù)可視化以及非線性動(dòng)態(tài)系統(tǒng)的建模和仿真等諸多強(qiáng)大功能集成在一個(gè)易于使用的視窗環(huán)境中,為科學(xué)研究、工程設(shè)計(jì)以及必須進(jìn)行有效數(shù)值計(jì)算的眾多科學(xué)領(lǐng)域提供了一種全面的解決方案,并在很大程度上擺脫了傳統(tǒng)非交互式程序設(shè)計(jì)語言(如C、Fortran)的編輯模式,代表了當(dāng)今國(guó)際科學(xué)計(jì)算軟件的先進(jìn)水平。20世紀(jì)70年代,美國(guó)新墨西哥大學(xué)計(jì)算機(jī)科學(xué)系主任Cleve Moler為了減輕學(xué)生編程的負(fù)擔(dān),用FORTRAN編寫了最早的MATLAB。1984年由Little、Moler、Steve Bangert合作成立了的MathWorks公司正式把MATLAB推向市場(chǎng)。到20世紀(jì)90年代,MATLAB已成為國(guó)際控制界的標(biāo)準(zhǔn)計(jì)算軟件(如表11)。表11 matlab的發(fā)展版本建造編號(hào)發(fā)布時(shí)間MATLAB MATLAB 2MATLAB 3MATLAB MATLAB 4MATLAB ……MATLAB MATLAB MATLAB MATLAB MATLAB MATLAB 7(本設(shè)計(jì)使用)MATLAB MATLAB ……MATLAB MATLAB MATLAB MATLAB MATLAB 沒有編號(hào)沒有編號(hào)沒有編號(hào)沒有編號(hào)沒有編號(hào)R7……R12R13R13SP1R13SP2R14R14SP1R14SP2……R2010aR2010bR2011aR2011bR2012a1984198619871990199219941996199920002001200120032003200420042005 數(shù)值逼近有效使用數(shù)字計(jì)算機(jī)求數(shù)學(xué)問題近似解的方法與過程,以及由相關(guān)理論構(gòu)成的學(xué)科。數(shù)值計(jì)算主要研究如何利用計(jì)算機(jī)更好的解決各種數(shù)學(xué)問題,包括連續(xù)系統(tǒng)離散化和離散形方程的求解,并考慮誤差、收斂性和穩(wěn)定性等問題。從數(shù)學(xué)類型分,數(shù)值運(yùn)算的研究領(lǐng)域包括數(shù)值逼近、數(shù)值微分和數(shù)值積分、數(shù)值代數(shù)、最優(yōu)化方法、常微分方程數(shù)值解法、積分方程數(shù)值解法、偏微分方程數(shù)值解法、計(jì)算幾何、計(jì)算概率統(tǒng)計(jì)等。隨著計(jì)算機(jī)的廣泛應(yīng)用和發(fā)展,許多計(jì)算領(lǐng)域的問題,如計(jì)算物理、計(jì)算化學(xué)、計(jì)算經(jīng)濟(jì)學(xué)等都可歸結(jié)為數(shù)值計(jì)算問題。泛指數(shù)學(xué)計(jì)算問題的近似解法。狹義的理解則專指對(duì)函數(shù)的逼近,即對(duì)于給定的較廣泛的函數(shù)類F中的函數(shù)?=?(x),從較小的子類H中尋求在某種意義下?的一個(gè)近似函數(shù)h(x),以便于計(jì)算和處理?!?.(.)外爾斯特拉斯曾于19世紀(jì)中后期做了奠基性工作。函數(shù)逼近的主要內(nèi)容有,對(duì)于某些特定的被逼近函數(shù)類F與逼近函數(shù)類H,討論逼近的可能性,最佳逼近的存在性、特征、惟一性、誤差估計(jì)以及算法等。它是現(xiàn)代數(shù)值分析的基本組成部分,除自身具有獨(dú)立學(xué)科分支的意義外,還可用于構(gòu)造數(shù)值積分、求函數(shù)零點(diǎn)、解微分方程和積分方程的近似方法。 研究意義數(shù)值逼近的方法包括插值、擬合與逼近等,這些算法其實(shí)可以通過C,C++以及Fortran等語言編程實(shí)現(xiàn).不過用C,C++以及Fortran等實(shí)現(xiàn)語言編寫相對(duì)于Matlab更為復(fù)雜從而使程序易錯(cuò),而Matlab在語言環(huán)境來說更為簡(jiǎn)單,并且在內(nèi)部程序中自帶相當(dāng)多得函數(shù),是程序的設(shè)計(jì)變得更為簡(jiǎn)單。使用Matlab對(duì)所編制的逼近程序進(jìn)行繪圖,讓得到的結(jié)果在圖形中進(jìn)行展示,是我