本書是一本專注于數(shù)值分析實(shí)驗(yàn)的指導(dǎo)書籍,通過(guò)精心設(shè)計(jì)的實(shí)驗(yàn)項(xiàng)目,引導(dǎo)讀者深入理解數(shù)值分析的基本概念和方法,幫助讀者打下堅(jiān)實(shí)基礎(chǔ)并提升實(shí)踐能力。內(nèi)容涵蓋數(shù)值計(jì)算的基本原理、算法實(shí)現(xiàn)以及實(shí)際應(yīng)用案例,旨在幫助讀者掌握數(shù)值分析的核心知識(shí)并能夠熟練運(yùn)用C#編程語(yǔ)言和VisualStudio平臺(tái)進(jìn)行數(shù)值計(jì)算實(shí)驗(yàn)。
運(yùn)用C#編程語(yǔ)言和VisualStudio平臺(tái)的數(shù)值分析實(shí)驗(yàn)指導(dǎo)書,內(nèi)容涵蓋數(shù)值分析的基本原理、算法實(shí)現(xiàn)以及實(shí)際應(yīng)用案例.
前言
數(shù)值計(jì)算是科學(xué)計(jì)算和工程應(yīng)用中的核心組成部分,廣泛應(yīng)用于物理、化學(xué)、生物、金融、工程等領(lǐng)域。它通過(guò)數(shù)學(xué)模型和算法來(lái)解決實(shí)際問(wèn)題,尤其是在不存在精確解的情況下,數(shù)值計(jì)算提供了一種有效的近似求解手段。例如,在天氣預(yù)報(bào)、航空航天、結(jié)構(gòu)分析、流體動(dòng)力學(xué)等領(lǐng)域,數(shù)值計(jì)算能夠模擬復(fù)雜的自然現(xiàn)象和工程問(wèn)題,幫助科學(xué)家和工程師進(jìn)行預(yù)測(cè)、優(yōu)化和決策。
隨著計(jì)算機(jī)技術(shù)的飛速發(fā)展,數(shù)值計(jì)算的規(guī)模和復(fù)雜度也在不斷增加。現(xiàn)代科學(xué)研究和工程實(shí)踐中,往往需要處理大規(guī)模的數(shù)據(jù)集和復(fù)雜的數(shù)學(xué)模型,這對(duì)數(shù)值計(jì)算的效率和精度提出了更高的要求。因此,掌握數(shù)值計(jì)算的基本原理和實(shí)現(xiàn)方法,對(duì)于從事科學(xué)計(jì)算和工程應(yīng)用的研究人員和開發(fā)者來(lái)說(shuō),具有重要的意義。
基于此背景,我們結(jié)合課堂教學(xué)及工程應(yīng)用經(jīng)驗(yàn),針對(duì)實(shí)際教學(xué)需求,編寫了這本《數(shù)值分析實(shí)驗(yàn)》,旨在幫助讀者學(xué)習(xí)如何使用C#編程語(yǔ)言和Visual Studio平臺(tái)創(chuàng)建并使用數(shù)值計(jì)算庫(kù)。C#是一種功能強(qiáng)大且易于學(xué)習(xí)的編程語(yǔ)言,廣泛應(yīng)用于Windows平臺(tái)上的應(yīng)用程序開發(fā)。通過(guò)學(xué)習(xí)本書,讀者將能夠:
理解數(shù)值計(jì)算的基本概念和應(yīng)用場(chǎng)景。
掌握C#編程語(yǔ)言的基礎(chǔ)語(yǔ)法和面向?qū)ο缶幊趟枷搿?br />
熟悉Visual Studio開發(fā)環(huán)境的使用,包括項(xiàng)目管理和調(diào)試技巧。
學(xué)會(huì)使用NuGet包管理器來(lái)管理和擴(kuò)展項(xiàng)目依賴。
能夠逐步創(chuàng)建并完善屬于自己的數(shù)值計(jì)算庫(kù),并將其應(yīng)用于解決實(shí)際數(shù)值計(jì)算問(wèn)題。
本書在編寫過(guò)程中得到清華大學(xué)、清華大學(xué)深圳國(guó)際研究生院的支持,諸多靈感來(lái)自于清華大學(xué)深圳國(guó)際研究生院錢翔老師,課題組成員閔妍濤、姜熙媛、何佳澤、劉毅也參與了教材的編審和例題的制作,在此向他們一并表示由衷的感謝!本書的出版得到了國(guó)家重點(diǎn)研發(fā)計(jì)劃項(xiàng)目(2022YFC3801100)、廣東省基礎(chǔ)與應(yīng)用基礎(chǔ)研究項(xiàng)目(2022B1515130006)和清華大學(xué)深圳國(guó)際研究生院教改項(xiàng)目(202303J001)的支持,一并感謝!
另外,本書構(gòu)建的數(shù)值計(jì)算庫(kù)源代碼已上傳至出版社的云盤,讀者可以掃描本頁(yè)的二維碼獲取,以供學(xué)習(xí)參考。
由于時(shí)間匆忙、水平有限,書中難免錯(cuò)漏之處,請(qǐng)讀者批評(píng)指正!
胡振中
2025年3月
胡振中,于清華大學(xué)土木工程系先后獲得工學(xué)學(xué)士和工學(xué)博士學(xué)位,現(xiàn)任清華大學(xué)深圳國(guó)際研究生院海洋工程研究院副院長(zhǎng),教研系列副教授。主要研究方向?yàn)橥聊九c海洋工程信息技術(shù)、海洋數(shù)字防災(zāi)、建筑與城市信息模型(BIM/CIM)。教授工程碩士數(shù)學(xué)、土木與建筑工程CAE等4門課程。曾獲清華大學(xué)2023年度“青年教師教學(xué)獎(jiǎng)”。
目錄
編程基礎(chǔ)
一、 C#編程語(yǔ)言基礎(chǔ)
二、 Visual Studio開發(fā)環(huán)境
實(shí)驗(yàn)一數(shù)值穩(wěn)定性
一、 實(shí)驗(yàn)?zāi)康?br />二、 實(shí)驗(yàn)原理
三、 實(shí)驗(yàn)內(nèi)容
四、 實(shí)驗(yàn)步驟
五、 實(shí)驗(yàn)總結(jié)
課后習(xí)題
實(shí)驗(yàn)二線性方程組的直接解法——Gauss消去法
一、 實(shí)驗(yàn)?zāi)康?br />二、 實(shí)驗(yàn)原理
三、 實(shí)驗(yàn)內(nèi)容
四、 實(shí)驗(yàn)步驟
五、 實(shí)驗(yàn)總結(jié)
課后習(xí)題
實(shí)驗(yàn)三線性方程組的直接解法——Cholesky分解
一、 實(shí)驗(yàn)?zāi)康?br />二、 實(shí)驗(yàn)原理
三、 實(shí)驗(yàn)內(nèi)容
四、 實(shí)驗(yàn)步驟
五、 實(shí)驗(yàn)總結(jié)
課后習(xí)題
實(shí)驗(yàn)四矩陣的特征值與特征向量
一、 實(shí)驗(yàn)?zāi)康?br />二、 實(shí)驗(yàn)原理
三、 實(shí)驗(yàn)內(nèi)容
四、 實(shí)驗(yàn)步驟
五、 實(shí)驗(yàn)總結(jié)
課后習(xí)題
實(shí)驗(yàn)五線性方程組的迭代解法——Jacobi迭代法和GaussSeidel迭代法
一、 實(shí)驗(yàn)?zāi)康?br />二、 實(shí)驗(yàn)原理
三、 實(shí)驗(yàn)內(nèi)容
四、 實(shí)驗(yàn)步驟
五、 實(shí)驗(yàn)總結(jié)
課后習(xí)題
實(shí)驗(yàn)六線性方程組的迭代解法——超松弛迭代法和共軛梯度法
一、 實(shí)驗(yàn)?zāi)康?br />二、 實(shí)驗(yàn)原理
三、 實(shí)驗(yàn)內(nèi)容
四、 實(shí)驗(yàn)步驟
五、 實(shí)驗(yàn)總結(jié)
課后習(xí)題
實(shí)驗(yàn)七非線性方程組的數(shù)值解法——二分法和不動(dòng)點(diǎn)迭代法
一、 實(shí)驗(yàn)?zāi)康?br />二、 實(shí)驗(yàn)原理
三、 實(shí)驗(yàn)內(nèi)容
四、 實(shí)驗(yàn)步驟
五、 實(shí)驗(yàn)總結(jié)
課后習(xí)題
實(shí)驗(yàn)八非線性方程(組)的迭代解法——Steffensen迭代法和Newton迭代法
一、 實(shí)驗(yàn)?zāi)康?br />二、 實(shí)驗(yàn)原理
三、 實(shí)驗(yàn)內(nèi)容
四、 實(shí)驗(yàn)步驟
五、 實(shí)驗(yàn)總結(jié)
課后習(xí)題
實(shí)驗(yàn)九插值法——Lagrange插值
一、 實(shí)驗(yàn)?zāi)康?br />二、 實(shí)驗(yàn)原理
三、 實(shí)驗(yàn)內(nèi)容
四、 實(shí)驗(yàn)步驟
五、 實(shí)驗(yàn)總結(jié)
課后習(xí)題
實(shí)驗(yàn)十插值法——Newton插值和三次樣條插值
一、 實(shí)驗(yàn)?zāi)康?br />二、 實(shí)驗(yàn)原理
三、 實(shí)驗(yàn)內(nèi)容
四、 實(shí)驗(yàn)步驟
五、 實(shí)驗(yàn)總結(jié)
課后習(xí)題
實(shí)驗(yàn)十一函數(shù)逼近——最小二乘法
一、 實(shí)驗(yàn)?zāi)康?br />二、 實(shí)驗(yàn)原理
三、 實(shí)驗(yàn)內(nèi)容
四、 實(shí)驗(yàn)步驟
五、 實(shí)驗(yàn)總結(jié)
課后習(xí)題
實(shí)驗(yàn)十二數(shù)值積分——NewtonCotes求積公式、復(fù)合求積公式、Romberg求積公式
一、 實(shí)驗(yàn)?zāi)康?br />二、 實(shí)驗(yàn)原理
三、 實(shí)驗(yàn)內(nèi)容
四、 實(shí)驗(yàn)步驟
五、 實(shí)驗(yàn)總結(jié)
課后習(xí)題
實(shí)驗(yàn)十三數(shù)值積分與微分——GaussLegendre求積、自適應(yīng)積分法、求導(dǎo)
一、 實(shí)驗(yàn)?zāi)康?br />二、 實(shí)驗(yàn)原理
三、 實(shí)驗(yàn)內(nèi)容
四、 實(shí)驗(yàn)步驟
五、 實(shí)驗(yàn)總結(jié)
課后習(xí)題
實(shí)驗(yàn)十四常微分方程的數(shù)值解——Euler方法、RungeKutta方法
一、 實(shí)驗(yàn)?zāi)康?br />二、 實(shí)驗(yàn)原理
三、 實(shí)驗(yàn)內(nèi)容
四、 實(shí)驗(yàn)步驟
五、 實(shí)驗(yàn)總結(jié)
課后習(xí)題
實(shí)驗(yàn)十五常微分方程的數(shù)值解——顯式/隱式Adams方法、一階方程組
一、 實(shí)驗(yàn)?zāi)康?br />二、 實(shí)驗(yàn)原理
三、 實(shí)驗(yàn)內(nèi)容
四、 實(shí)驗(yàn)步驟
五、 實(shí)驗(yàn)總結(jié)
課后習(xí)題
應(yīng)用案例
案例一二維擴(kuò)散模擬
一、 實(shí)驗(yàn)?zāi)康?br />二、 實(shí)驗(yàn)原理
三、 實(shí)驗(yàn)內(nèi)容
四、 實(shí)驗(yàn)步驟
五、 實(shí)驗(yàn)總結(jié)
案例二彈簧質(zhì)量阻尼系統(tǒng)的振動(dòng)分析
一、 實(shí)驗(yàn)?zāi)康?br />二、 實(shí)驗(yàn)原理
三、 實(shí)驗(yàn)內(nèi)容
四、 實(shí)驗(yàn)步驟
五、 實(shí)驗(yàn)總結(jié)
案例三桿系結(jié)構(gòu)力學(xué)分析
一、 實(shí)驗(yàn)?zāi)康?br />二、 實(shí)驗(yàn)原理
三、 實(shí)驗(yàn)內(nèi)容
四、 實(shí)驗(yàn)步驟
五、 實(shí)驗(yàn)總結(jié)
課后習(xí)題參考答案