首頁 > 易卦

經典!《數值數學實驗教程》不容錯過,不看太可惜!

作者:由 每日好書精選 發表于 易卦日期:2022-12-06

數值積分法的幾種演算法

經典!《數值數學實驗教程》不容錯過,不看太可惜!

第一章

內容提要

本書為普通高等學校理工科各個專業有關數值計算類課程的配套教材。全書共分9章,內容包括:MATLAB程式設計基礎、計算機數系、數值方法的基本思想、函式方程求根、線性方程組求解、資料插值法、資料擬合法、數值積分法、常微分方程的數值解法。對各種演算法的詳細理論分析可以參考有關數值計算教材,本書只列出相關結果,著重分析如何程式設計和實驗。書中各種演算法的程式設計程式碼都是用MATLAB語言編寫的,便於學習和上機執行;每種演算法都設計了程式模組,方便呼叫;同時配備大量的有針對性的數值實驗習題,有助於深入理解演算法。本書也可以供具有科學與工程計算需求的科技研究人員參考。

圖書在版編目資料

數值數學實驗教程/陳興同,王海軍,凌思濤主編

。南京:南京大學出版社,2020。6

ISBN9787305230028

Ⅰ。①數…Ⅱ。①陳…②王…③凌…Ⅲ。①數值計

算-實驗-高等學校-教材Ⅳ。①O241

中國版本圖書館CIP資料核字(2020)第040482號

出版發行南京大學出版社

社址南京市漢口路22號郵編210093

掃一掃可獲取

相關電子資源

出版人金鑫榮

書名數值數學實驗教程

主編陳興同王海軍凌思濤

照排南京開卷文化傳媒有限公司

印刷虎彩印藝股份有限公司

開本787×10921/16印張13字數316千

版次2020年6月第1版2020年6月第1次印刷

ISBN9787305230028

定價39。80元

網址:http://www。njupco。com

官方微博:http://weibo。com/njupco

官方微訊號:NJUyuexue

銷售諮詢熱線:83594756

版權所有,侵權必究

凡購買南大版圖書,如有印裝質量問題,請與所購

圖書銷售部門聯絡調換

前言

“數值數學”是利用現代先進計算機技術和先進演算法對大量的數學問題進行計算求解的一門數學與計算機科學的交叉學科,它專門研究求解數學模型的先進演算法、可靠計算問題,在最近蓬勃興起的資訊處理技術研究、開發和利用中,更是一種必不可少的基礎計算。無論是應用數學,還是資訊處理技術,或者其他工程設計技術都涉及大規模計算問題,因此相應專業的學生熟練掌握先進計算技術,是培養創新型人才的關鍵。為適應培養新型創新人才的要求,許多高校都建立了校級、省部級“科學計算中心”,都配備了大量先進的計算機裝置,包括PC機、伺服器、超級計算機等計算平臺。我校也建立了“數學實驗實踐中心”,該中心同時支援200多名學生進行數值計算實習。目前國內外也出版了一些有關“數值數學”方面的教材,但都是側重於演算法基本原理的討論和分析,缺少精心設計的實驗習題或素材;對學生程式設計要求不高,重理論、輕程式設計、輕實踐;常常侷限於某個數學軟體的某一條命令的介紹,總想用一條現成的命令解決問題;實驗實踐環節學時少,僅僅為了配合主課程進行少量的數值實驗;對演算法的描述常常停留在原理的介紹上,缺少細緻、完整的流程;學生對算法理解不精細,程式設計困難。實際上,如果學生能夠根據演算法寫出完整並且執行流暢、安全可靠的程式,那麼他對演算法原理的理解和掌握一定是非常熟練的,透過數值演算法作為程式設計素材,將會大大提高學生的資訊處理能力和進行先進演算法研究設計能力。

根據理工科相關專業的教學質量標準要求,結合作者多年來的教學經驗和積累,編寫了這本數值實驗教材,基本特點是:第一,準確描述演算法設計思想、基本原理、程式設計技巧;第二,突出演算法的程式設計要求,重點演算法都給出了結構化程式設計,以方便自學程式設計技術;第三,精心設計了大量實驗習題,更注重實驗實踐環節,試圖透過該環節對演算法進行分析、對比,掌握演算法的性態和使用場合;第四,基於循序漸進由淺入深的原則,列舉大量的計算例子與圖表,簡明易懂;第五,利用流行的數學處理軟體MATLAB編寫相關演算法的程式,讓同學們能夠學習到結構化程式設計技術,熟練掌握數學應用軟體MATLAB的使用技巧;第六,內容方面主要包括方程求根、線性代數、微積分、函式逼近與擬合、微分方程、最最佳化等數學計算問題的數值計算與求解演算法。只要具有高等數學與線性代數的基本知識就可以學習本書,不需要詳細的理論分析。完成本教材的教學大約需要32學時,其中講課16學時,上機實驗16學時。

本教材在編寫過程中參考了許多國內外相關數值計算方面的教材,在此對參考文獻的作者表示衷心感謝。本書由陳興同主編,王海軍、凌思濤老師也參與了部分編寫和稽核工作,中國礦業大學教務部對本書的出版給予了大力支援,對此編者表示衷心感謝。由於作者水平有限,取材、敘述、程式設計難免有不妥之處,歡迎讀者和專家們批評指正。

數值數學實驗教程

第一講MATLAB程式設計基礎

第一講MATLAB程式設計基礎

隨著計算技術的發展,各種各樣的應用軟體越來越多,比如能夠支援數學計算的軟體就有多種:MATLAB、Mathmatica、Scilab等。MATLAB以其強大的矩陣計算能力使它在科學計算與工程設計中更具備競爭力,MATLAB集成了眾多基本的資料處理功能,可以完美支援數值與非數值運算,本講學習MATLAB的基本程式設計語法。

1。1M檔案

由MATLAB語句構成的程式通常作為檔案儲存在檔名字尾為。m的檔案中,稱為M檔案,可以使用任何一種文字編輯器來編寫M檔案。M檔案的檔名不能用漢字,也不能用數字開頭,只能用英文字元開頭,長度可達255個字元。M檔案一般有兩種型別:script檔案。

1。1。1手稿檔案

手稿檔案是由使用者編寫的一個包含一系列MATLAB命令的文字檔案,在MATLAB工作空間的命令列提示符“>>”後敲入這個M檔案的檔名就可以依次執行這個M檔案中的每條語句。當需要從命令列中執行多條命令時可以使用script檔案,為此只需要將希望執行的命令逐行寫入script檔案中,並儲存在MATLAB工作目錄下。概括起來手稿檔案有如下特點:(1)不需要任何實參代入,也不能返回任何輸出;(2)其中的變數作用於整個工作空間;(3)使用工作空間中的資料;(4)不需要用到任何MATLAB關鍵字,直接在其中寫可以執行的MATLAB語句;(5)可以利用百分號作註釋;不能包含任何自定義函式。

例題1。1本例說明一個script檔案。程式petals。m計算一些三角函式在不同弧度時的函式值,並繪製四個花瓣圖象。由於語句較多,不方便在命令列中一條一條地執行,現在將這些語句利用文字編輯器逐行寫入一個M檔案petals。m中,則形成了一個典型的script檔案,並把它儲存在MATLAB工作目錄下。

%例題1。1程式:petals。m

theta=-pi:0。01:pi;%角大小

rho(1,:)=2*sin(5*theta)。^2;%第一個花瓣

rho(2,:)=cos(10*theta)。^3;%第二個花瓣

rho(3,:)=sin(theta)。^2;%第三個花瓣

rho(4,:)=5*cos(3。5*theta)。^3;%第四個花瓣

(溫馨提示:全文小說可點選文末卡片閱讀)

fork=1:4

polar(theta,rho(k,:));

pause;

end

在命令列提示符後敲入檔名petals,則可以執行其中的每一條語句,結果產生四幅花瓣圖象,如圖1。1所示。如果在命令列中敲入whos並回車,則可以看到這個檔案中的所有變數,這說明script檔案中的變數作用域為整個MATLAB工作空間。

圖1。1例題1。1中四幅花瓣

1。1。2函式檔案

可以利用MATLAB系統中的關鍵字與內部函式來構造使用者自己的函式即自定義函式,並將這個函式儲存在一個function檔案中,它也以。m為副檔名,但要求檔名與函式名相同。概括起來function檔案有如下特點:

檔案第一行必須由關鍵字function開頭,後面緊跟函式原型:

function[返回變量表]=函式名(形式引數表)。

比如,用二分法求非線性方程f(x)=0的根,函式定義語句為

function=cbisectionrule(f,interval,epsilon,N)。

其中function是關鍵字,返回變數多於兩個時要用方括號,這裡有兩個返回變數x,abx;函式名為cbisection_rule;形式引數為f,interval,epsilon,N,共四個。

函式體可以由任何MATLAB語句構成。

被包括在函式檔案中的變數只能作用在這個函式檔案內部,不能被外部訪問,在MATLAB工作空間中用whos命令無法顯示函式檔案中的變數,這與scripts檔案不同。

同一個function檔案中可以定義多個自定義函式,第一個function定義的函式稱為主函式,它的名字應當和檔案同名,第二個function及以後各個function定義的函式稱為子函式,它們只能被主函式呼叫,不能從檔案外部訪問,但主函式可以被外部訪問。

有些函式檔案可以直接在MATLAB命令列中透過敲入檔名來直接執行;但是一些只包含形式引數的函式檔案只能被其他函式檔案呼叫。

例題1。2求一組離散資料x1,x2,…,xn的樣本均值與樣本標準差,它們的計算公式為

=1n∑ni=1xi,s=1n∑ni=1(xi-)2。(1。1)

解:利用公式可以編寫自定義函式模組cstat。m,儲存它的檔名應當與函式名相同即cstat。m。在主程式eg1_2。m中呼叫這個函式,可以求出用Gauss噪聲干擾後的變數x的均值與標準差。函式cstat。m、eg1_2。m中的變數作用域範圍僅限於函式體內,它們都是區域性變數,在MATLAB命令列中whos命令觀察不到其中的變數mean、n、stdev、x等。

%函式模組:cstat。m

function=cstat(x)

n=length(x);

mean=sum(x)/n;

stdev=sqrt(sum((x-mean)。^2/n));

%例題1。2主程式:eg1_2。m

functioneg1_2

x=-pi:0。1:pi;

x=x+randn(size(x))

=cstat(x)

1。2變數

MATLAB程式設計過程中必然要用到變數,使用MATLAB變數時要注意如下特點:

使用時不必預先宣告它的型別,而是直接對它進行賦值,這與C語言不同。變數的型別由表示式運算結果型別決定。

變數名必須以字母開頭,字尾任何字母、數字、下劃線,長度最多可達63個字元。

變數名中大小寫是有區別的,比如:Ab、aB,AB,ab是完全不同的四個變數。

使用者可以使用函式isvarname來確定使用者給出的變數名是否合法,如果合法就返回1,否則返回0。比如:8th_column就不是一個合法的變數名。

不能用MATLAB內部的名字來命名自定義變數,比如MATLAB的預設變數名、內部函式名、關鍵字等。

每一個變數都有自己的作用域範圍,因此就有區域性變數與全域性變數之分,但是要儘量少用或不用全域性變數,將每個變數的作用域限制在較小範圍之內,變數之間的資料交換使用子函式來進行,這樣也使得程式的結構化更強,便於閱讀與分析。

MATLAB中的幾個特殊函式可以返回幾個重要特殊數值,可以直接在MATLAB語句中呼叫它們,表1。1列出了MATLAB中特殊函式值。

表1。1MATLAB中特殊函式值

函式返回值

ansMostrecentanswer(variable)。Ifyoudonotassignanoutputvariabletoanexpression,MATLABautomaticallystorestheresultinans。

epsFloatingpointrelativeaccuracy。ThisisthetoleranceMATLABusesinitscalculations。

realmaxLargestfloatingpointnumberyourcomputercanrepresent。

realminSmallestfloatingpointnumberyourcomputercanrepresent。

pi3。1415926535897…

i,jImaginaryunit。

infInfinity。Calculationsliken/0,wherenisanynonzerorealvalue,resultininf。

NaNNotaNumber,aninvalidnumericvalue。Expressionslike0/0andinf/infresultinaNaN,asdoarithmeticoperationsinvolvingaNaN。n/0,whereniscomplex,alsoreturnsNaN。

computerComputertype。

數值數學實驗教程

陳興同, 王海軍, 凌思濤主編

文學藝術

免費閱讀

(點選上方卡片可閱讀全文哦↑↑↑)

感謝大家的閱讀,如果感覺小編推薦的書符合你的口味,歡迎給我們評論留言哦!

想了解更多精彩內容,關注小編為你持續推薦!