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