-
>
闖進數學世界――探秘歷史名題
-
>
中醫基礎理論
-
>
當代中國政府與政治(新編21世紀公共管理系列教材)
-
>
高校軍事課教程
-
>
思想道德與法治(2021年版)
-
>
毛澤東思想和中國特色社會主義理論體系概論(2021年版)
-
>
中醫內科學·全國中醫藥行業高等教育“十四五”規劃教材
數值計算方法實驗教程/數據科學方法及應用系列 版權信息
- ISBN:9787030687395
- 條形碼:9787030687395 ; 978-7-03-068739-5
- 裝幀:一般膠版紙
- 冊數:暫無
- 重量:暫無
- 所屬分類:>>
數值計算方法實驗教程/數據科學方法及應用系列 內容簡介
本書是一本針對數值計算方法的實驗課程的指導用書。全書共8章,包括數值計算常用軟件(MATLAB、C++、Python)介紹、非線性方程求根實驗、線性方程組的直接解法實驗、線性方程組的迭代解法實驗、函數的插值法實驗、曲線擬合實驗、數值積分實驗、矩陣特征值與特征向量的計算實驗。全書注重數值計算問題的求解算法思路、算法實現及實現過程中會碰到的各種數值問題,以及算法代碼的通用性。 本書適合普通高等院校數學類各專業及理工科高年級學生和研究生使用,也可供相關科技人員參考,要求具備基本的編程基礎。
數值計算方法實驗教程/數據科學方法及應用系列 目錄
叢書序
前言
第1章 數值計算常用軟件介紹. 1
1.1 MATLAB 語言簡介. 1
1.2 C/C++ 語言簡介. 2
1.3 Python 語言簡介 3
第2章 非線性方程求根 5
2.1 學習指導 5
2.1.1 重點 5
2.1.2 難點 5
2.2 實驗指導 6
2.2.1 實驗目的 6
2.2.2 實驗內容 6
2.2.3 算法分析 6
第3章 線性方程組的直接解法 31
3.1 學習指導 31
3.1.1 重點 31
3.1.2 難點 31
3.2 實驗指導 31
3.2.1 實驗目的 31
3.2.2 實驗內容 31
3.2.3 算法分析 32
第4章 線性方程組的迭代解法 61
4.1 學習指導 61
4.1.1 重點 61
4.1.2 難點 61
4.2 實驗指導 61
4.2.1 實驗目的 61
4.2.2 實驗內容 61
4.2.3 算法分析 62
第5章 函數的插值法 86
5.1 學習指導 86
5.1.1 重點 86
5.1.2 難點 86
5.2 實驗指導 86
5.2.1 實驗目的 86
5.2.2 實驗內容 87
5.2.3 算法分析 87
第6章 曲線擬合 109
6.1 學習指導 109
6.1.1 重點 109
6.1.2 難點 109
6.2 實驗指導 109
6.2.1 實驗目的 109
6.2.2 實驗內容 109
6.2.3 算法分析 110
第7章 數值積分 121
7.1 學習指導 121
7.1.1 重點 121
7.1.2 難點 121
7.2 實驗指導 122
7.2.1 實驗目的 122
7.2.2 實驗內容 122
7.2.3 算法分析 122
第8章 矩陣特征值與特征向量的計算 135
8.1 學習指導 135
8.1.1 重點 135
8.1.2 難點 135
8.2 實驗指導 135
8.2.1 實驗目的 135
8.2.2 實驗內容 136
8.2.3 算法分析 136
參考文獻 149
數值計算方法實驗教程/數據科學方法及應用系列 節選
第1章 數值計算常用軟件介紹 隨著計算機的廣泛應用和發展, 科學研究和工程技術領域都要用到各種數值計算方法, 如航天航空、地質勘探、汽車制造、橋梁設計、天氣預報等. 當前熱門的機器學習和數據挖掘領域也是以數值計算為基礎. 數值計算方法主要研究使用計算機有效地求數學問題近似解的方法、過程以及相關理論, 即研究如何利用計算機更好地解決各種數學問題, 故數值計算方法成為數學與計算機之間的橋梁數值計算方法課程需要進行大量的上機實驗, 目前比較流行的數值計算軟件主要有 MATLAB、C/C++ 和 Python, 它們各自針對不同的需求而開發, 具有不同的特色和功能, 下面分別簡單介紹. 1.1 MATLAB 語言簡介 MATLAB 是 Matrix & Laboratory 兩個詞的組合, 意為矩陣實驗室, 是美國MathWorks 公司出品的商業數學軟件. MATLAB 的發展經歷了漫長的過程, 初版 MATLAB 并不是編程語言, 只是一個簡單的交互式矩陣計算器, 只能進行簡單的矩陣運算, 如矩陣轉置、計算行列式和特征值, 沒有程序、工具箱和圖形化等. MATLAB *初是由莫勒 (Moler) 用 FORTRAN 語言編寫的, 利特爾 (Little) 和班格特 (Bangert) 花了約一年半的時間用 C 語言重新編寫了 MATLAB 并增加了一些新功能. 1984 年, 杰克 利特爾、克利夫 莫勒和史蒂夫 班格特合作成立了 MathWorks 公司, 正式把 MATLAB 推向市場. MATLAB 的應用領域廣泛, 包括數據分析、數值與符號計算、工程與科學繪圖、控制系統設計、航天工業、汽車工業、生物醫學工程、語音處理、圖像與數字信號處理、財務、金融分析、建模仿真等. MATLAB 適合廣大理工科大學生和教師、從事相關領域的工程人員和研究人員使用. MATLAB 是一種高級程序設計語言, 提供交互式程序設計環境, 可用于算法開發、數據可視化及數據分析等.MATLAB 的基本運算單元為矩陣, 其指令表達形式與數學、工程中常用的自然化語言表達形式十分相似, 用更直觀的、符合人們思維習慣的代碼, 代替了 C 語言和 FORTRAN 語言的冗長代碼, 其優勢在于: 1) 語言簡潔緊湊, 使用方便靈活, 庫函數極其豐富. MATLAB 程序書寫形式自由, 利用其豐富的庫函數, 壓縮了一切不必要的編程工作. 2) MATLAB 語法限制不嚴格, 程序設計自由度大. 例如, 用戶無須對矩陣進行預定義. 3) MATLAB 的圖形功能強大. 在 FORTRAN 語言和 C 語言里, 繪圖都很不容易, 但在 MATLAB 里, 數據的可視化非常簡單. 同時, MATLAB 還具有較強的編輯圖形界面的能力. 4) 功能強勁的工具箱是 MATLAB 的另一特色. MATLAB 工具箱可分為兩類:功能性工具箱和學科性工具箱. 功能性工具箱主要用來擴充其符號計算功能、圖示建模仿真功能以及與硬件實時交互功能等. 學科性工具箱能用于多種學科, 其專業性比較強, 目前深入到科學研究和工程計算的各個領域. MATLAB 擺脫了傳統非交互式程序設計語言 (如 C、FORTRAN) 的編輯模式, 將數值分析、矩陣計算、科學數據可視化等強大功能集成在一個易于使用的交互式環境中, 為眾多科學領域進行有效數值計算提供了一種全面的解決方案.MATLAB 語言像 FORTRAN 和 C 語言一樣規定了矩陣的算術運算符和關系運算符等運算符, 而且這些運算符大部分可以毫無改變地照搬到數組間的運算. 另外, 它不需定義數組的維數, 并給出矩陣函數、特殊矩陣專門的庫函數, 使之在求解數值計算問題時顯得大為簡捷、高效、方便, 這是其他高級語言所不能比擬的. MATLAB 支持的系統包括 Windows、LINUX 和 MacOS, 目前*新版本是MATLAB R2020a. 1.2 C/C++ 語言簡介 C 語言在 20 世紀 70 年代初問世, 1978 年美國 AT&T 貝爾實驗室正式發表了 C 語言. C 語言是當今*流行的程序設計語言之一, 集高級語言和低級語言的功能于一體. 在 C 語言的基礎上, 1983 年貝爾實驗室推出了 C++, 進一步擴充和完善了 C 語言. C++ 具體的實現則由不同的平臺完成, 如今主流的平臺有GCC/G++、LLVM/Clang 以及 MSVC(Microsoft 公司的編譯平臺) 等. 以上三種是 C++ 的編譯器, 它們可以獨立完成 C++ 的編譯. 但是如果借助于 IDE(集成開發環境) 可以更高效地完成 C++ 的開發, 主要的 IDE 有 Microsoft 公司的Visual Studio、Apple 公司的 Xcode、JetBrains 的 Clion 等. C/C++ 用戶包括研究人員、工程人員、專業程序人員等. C 語言作為抽象化的通用程序設計語言, 廣泛應用于底層開發. 由于兼容了 C 語言的特性, C++可以解決接近硬件層的程序, 同時結合了面向對象的功能, 所以 C++ 可以快速開發大型程序. C/C++ 理論上可以解決所有問題, 由于 C/C++ 更接近計算機底層的特性, 所以其有著極高的運行效率. 在設計數據量龐大或復雜度極高的問題時, C/C++ 的運算效率遠高于其他語言. 由于 C/C++ 代碼嚴謹度極高, 標準定義非常細致, 對各種情況幾乎都有對應的規則, 同時開放程度高, 所以具有極大的靈活性, 可以解決各種各樣其他語言解決不了的問題. 盡管 C/C++ 語言提供了許多低級處理的功能, 但仍然保持著跨平臺的特性. 雖然 C/C++ 靈活, 但犧牲了高抽象特性, 所以其開發效率相對其他語言稍 顯不足. 理論上所有的數值計算問題都可以用 C/C++ 解決, 相對于其他更高級語言如 Python、MATLAB 等, 抽象程度差的特點表現相對明顯. 在解決同一數值問題時, C/C++ 在編寫代碼上要付出更多的工作量, 但總的來說 C/C++ 進行數值計算時的運算速度具有很大優勢. C++ *新標準版本是 C++17 以及即將發布的 C++20. GCC/G++ 是當今使用*廣泛的編譯平臺, 可運行在 UNIX、LINUX 和 MacOS 等絕大多數平臺, 借助于 MingW 平臺可運行在 Windows 上. 1.3 Python 語言簡介 1989 年圣誕節期間, 荷蘭人吉多 范羅蘇姆 (Guido van Rossum) 為打發圣誕節的無趣開發了一種新的腳本解釋程序 Python, 目前 Python 已成為*受歡迎的程序設計語言之一. Python 的語法極其簡潔, 保留字只有 33 個, 遠遠少于 C++ 的 62 個. 它摒棄使用大括號來劃分代碼段, 它使用代碼縮進, 并且避免了很多處不必要的括號使用. 清晰劃一的風格使得 Python 成為一門易讀易維護的語言, 因此很快得到許多研究機構的青睞. Python 支持面向對象的編程技術, 十分便于維護; Python支持網絡編程及多線程編程, 能構建大型應用程序或網站. 由于海量的第三方庫支持, Python 在各個領域發揮著巨大的作用. 專業的計算機科學擴展庫如著名的計算機視覺庫 OpenCV、三維可視化庫 VTK、醫學圖像處理庫 ITK. 此外, Python 的運行不需要軟件環境, 僅僅只需要解釋器, 擁有解釋器的操作系統都能運行 Python 代碼, 因此具有極好的可移植性. 在科學計算領域, 首先會提及的是 MATLAB. 除了一些專業性很強的工具箱目前無法被替代外, MATLAB 大部分的常用功能都可以在 Python 中找到相應的擴展庫. 許多工程上的科學計算軟件包都提供了 Python 的調用接口, 如經典的NumPy、SciPy 和 Matplotlib. 其中, NumPy 庫在矩陣運算方面進行了大量的優化, 提供了快速數組處理功能; SciPy 庫包含數值計算的多種算法; Matplotlib 庫提供了繪圖功能, 能夠將數據可視化. 由于 NumPy、SciPy、Matplotlib 庫的支持, Python 能輕松處理海量數據, 廣泛應用于人工智能、深度學習等領域. 世界上**張黑洞照片便是用 Python 進行數據分析后還原出來的. 此外, Python 自帶大整數運算優化以及運算符重載, 不需要第三方庫的支持, 在數論、密碼學等領域中擁有得天獨厚的優勢. Python 適用于 Windows、LINUX/UNIX 和 MacOS 等多種平臺, 完全免費并且開放源碼, *新版本是 3.9.0 Beta 3 測試版本, 穩定版本為 3.8. 第2章非線性方程求根 2.1 學習指導 2.1.1 重點 1. 根的概念 給定非線性方程 f(x) = 0, 如果有 x. 使得 f(x.) = 0, 則稱 x. 為 f(x) = 0 的根或 f(x) 的零點. 掌握單根和重根的定義及有關非線性方程的重要結論. 2. 二分法 掌握二分法的基本原理、構造方法、算法步驟及收斂性定理; 掌握二分法的適用范圍, 理解二分法的收斂速度及二分法的優缺點; 熟練二分法求多根的改進 及試位法的算法原理. 3. 簡單迭代法 掌握簡單迭代法的產生原理、迭代格式的構造、算法步驟及迭代法收斂性定理; 掌握簡單迭代法的適用范圍及該法的優缺點; 掌握艾特肯 (Aitken) 加速收斂法的構造. 4. 牛頓法 掌握牛頓 (Newton) 法的幾何構造原理、牛頓法的迭代格式、收斂性定理及算法步驟; 掌握牛頓法的優缺點及常用改進方法:重根加速收斂法、割線法、牛頓 下山法. 2.1.2 難點 了解壓縮映射原理, 用于簡單迭代法的收斂性分析; 理解牛頓法收斂性判定; 了解迭代法收斂的概念以及簡單的判定方法. 2.2 實驗指導 2.2.1 實驗目的 掌握常用的求非線性方程近似根的數值方法, 用所學方法求非線性方程滿足指定精度要求的數值解, 比較各種方法的異同點并進行收斂性分析. 2.2.2 實驗內容 1) 編程實現二分法尋找非線性方程 f(x) = 0 的多根. 2) 編程實現艾特肯方法求解非線性方程 f(x) = 0 的根, 以加速簡單迭代法的收斂. 3) 編程實現牛頓法求解非線性方程 f(x) = 0 的根. 2.2.3 算法分析 迭代法是求非線性方程近似根的一種常用算法設計方法, 不斷地用變量的舊值遞推新值, 二分法和牛頓法也屬于迭代法. 構造任何迭代法, 需處理好以下三個方面: (1) 確定迭代變量并賦初值. 在迭代過程中, 至少存在一個直接或間接的變量, 不斷由舊值推出新值. (2) 建立迭代公式. 如何從迭代變量的前一個值推出下一個值, 這是解決迭代 問題的關鍵. (3) 確定迭代終止條件. 求解非線性方程的根一般設置三個迭代終止條件: a. 指定精度 ε1 > 0. 若 |f(x)| > ε1, 則繼續迭代; b. 指定精度 ε2 > 0. 若相鄰迭代近似根的距離大于 ε2, 則繼續迭代; c. 設定*大迭代次數 N. 若執行次數超過 N 還不能滿足精度要求, 終止迭代提示算法不收斂. 在具體使用迭代法求根時可能發生: (1) 如果方程無解,
- >
苦雨齋序跋文-周作人自編集
- >
上帝之肋:男人的真實旅程
- >
我從未如此眷戀人間
- >
煙與鏡
- >
名家帶你讀魯迅:朝花夕拾
- >
莉莉和章魚
- >
名家帶你讀魯迅:故事新編
- >
我與地壇