工程數值計算 Python 教程

姚傳義

買這商品的人也買了...

商品描述

本書面向應用,介紹各種數值計算方法的基本原理及Python程序實現。
全書共分十五章,主要內容包括緒論、Python基礎、非線性代數方程的求根、插值、數值微分與數值積分、
線性及非線性方程組求解、樣條函數、最小二乘法與回歸分析、常微分及偏微分方程的求解、過程化、Monte Carlo模擬、智能優化算法。
本書可作為工科類院校本科生和研究生學習化工數值計算或計算方法的教材,也可供從事工程類相關專業研究的科技人員參考。

目錄大綱

第一章緒論
1.1 數值計算在工程科學中的重要性
1.2 數值計算方法
1.3 程序設計
1.4 誤差的來源、表示及傳遞
1.4.1 誤差的來源和分類
1.4.2 誤差的表示
1.4.3 誤差的傳遞
習題
第二章Python基礎
2.1 概述
2.1.1 為什麼選擇Python
2.1.2 Python的安裝
2.1.3 如何運行程序
2.2 核心數據類型及操作
2.2.1 數字(Numbers)
2.2.2 字符串(Strings)
2.2.3 列表(Lists)
2.2.4 字典(Dictionaries)
2.2.5 元組(Tuples)
2.2.6 文件(Files)
2.2.7 集合(Sets)
2.2.8 其他核心類型
2.2.9 動態類型簡介
2.3 Python語句
2.3.1賦值語句
2.3.2 函數調用及打印語句
2.3.3 if語句
2.3.4 while循環
2.3.5 for循環
2.4 函數
2.4.1 作用域
2.4.2 參數
2.4.3 遞歸函數
2.4.4 匿名函數lambda
2.4.5 函數的其他主題
2.5 異常處理
2.5.1 默認異常處理器
2.5.2 try語句捕捉異常
2.5.3 with/as環境管理協議
2.6 常用模塊簡介
2.6.1 numpy模塊
2.6.2 scipy模塊
2.6.3 matplotlib模塊
習題
第三章方程(組)的求解
3.1 非線性代數方程的求根
3.1.1 二分法
3.1.2 迭代法
3.1.3 牛頓法
3.1.4 弦截法(割線法)
3.1.5 利用scipy模塊求非線性方程的根
3.2 線性方程組
3.2.1 解三對角線方程組的Thomas算法
3.2.2 迭代法
3.3 非線性方程組
3.3.1 迭代法
3.3.2 牛頓-拉弗森法
3.3.3 利用scipy模塊求解非線性方程組
習題
第四章插值與回歸
4.1 代數多項式插值
4.1.1 拉格朗日插值
4.1.2 牛頓插值
4.1.3 差分與等距節點插值公式
4.1.4 分段插值法
4.1.5 利用scipy模塊進行拉格朗日插值
4.2 三次樣條函數插值
4.2.1 三次樣條函數的推導
4.2.2 三次樣條函數插值的Python實現
4.2.3 利用scipy模塊進行樣條函數插值
4.3 回歸
4.3.1 一元線性回歸
4.3.2 多元線性回歸
4.3.3 梯度下降算法
4.3.4 利用scipy模塊解決回歸問題
習題
第五章數值微分與數值積分
5.1 數值微分
5.1.1 利用差分近似求微分
5.1.2 利用三次樣條函數求微分
5.2 理查森外推
5.3 數值積分
5.3.1 下和與上和
5.3.2 梯形法則
5.3.3 龍貝格算法
5.3.4 辛普森法則
5.3.5 自適應辛普森法
5.3.6 利用numpy及scipy模塊進行數值積分
習題
第六章常微分方程
6.1 常微分方程初值問題的數值解
6.1.1 歐拉法
6.1.2 改良歐拉法
6.1.3 龍格-庫塔法
6.2 常微分方程組初值問題的數值解
6.3 高階常微分方程初值問題的數值解
6.4 常微分方程邊值問題的數值解
6.4.1 打靶法
6.4.2 有限差分法
6.5 利用scipy模塊求解常微分方程
習題
第七章偏微分方程
7.1 拋物型方程
7.1.1 顯式法
7.1.2 隱式法
7.1.3 克蘭克-尼科爾森六點格式
7.2 雙曲型方程
7.3 橢圓型方程
7.4 直線法
7.4.1 直線法求解拋物型方程
7.4.2 直線法求解雙曲型方程
7.5 緊緻差分算法
習題
第八章過程最優化
8.1 單變量函數的最優化
8.1.1 搜索區間的確定
8.1.2 黃金分割法
8.1.3 插值法
8.2 無約束多變量函數的優化
8.3 有約束多變量函數的優化
8.3.1 複合形法
8.3.2 懲罰函數法
8.4 利用scipy模塊進行函數優化
習題
第九章Monte Carlo模擬
9.1 隨機數
9.2 用Monte Carlo法求數值積分
9.3 Monte Carlo模擬實例
9.4 Monte Carlo方法在高分子研究中的應用
9.4.1 共聚反應的模擬
9.4.2 鄰基反應的模擬
9.4.3 降解反應的模擬
習題
第十章智能優化算法
10.1 遺傳算法
10.1.1 編碼方法
10.1.2 適應度評估
10.1.3 選擇
10.1.4 交叉
10.1.5 變異
10.2 粒子群優化算法
10.3 利用geatpy 模塊進行遺傳算法優化
10.4 利用scikit-opt模塊實現智能優化算法
10.4.1 scikit-opt模塊中的遺傳算法
10.4.2 scikit -opt模塊中的粒子群算法
習題
參考文獻