全書共分為10章,第1章為MATLAB程序設計語言與初等數學運算,第2章為矩陣操作與線性方程組求解,第3章為非線性方程組求解,第4章為插值與擬合,第5章為數值微分與數值積分,第6章為常微分方程數值解,第7章為偏微分方程數值解,第8章為概率論與數理統計,第9章為數值最優化方法,第10章為神經網絡。
本書可作為高等院校化學工程、化學工藝及相關專業的本科生教材或研究生參考書,也可供化工科研、工程技術人員參考。
“計算機化工應用”是化學工程與工藝及相關專業一門重要的專業課程,其目的是強化本專業學生應用計算機解決專業問題的能力。這一課程在華東理工大學已開設30年,當時計算機在化工領域的應用主要是數值計算,這也一直是本門課程的核心內容。在多年的實踐中,本課程使用的編程語言從開始的Fortran變化到后來的C語言,但核心內容沒有明顯變化。在21世紀里,隨著計算機軟硬件技術的飛速發展,化工領域出現了很多優秀的專業軟件,使完成傳統化工過程設計的工作大大簡化。在這種形勢下,本門課程的內容也面臨調整的契機。
2006年起,華東理工大學化工學院進行了關于化工專業課程中計算機類課程的改革,決定將MATLAB作為“計算機化工應用”課程的編程語言。MATLAB軟件是一款優秀的數值 “計算機化工應用”是化學工程與工藝及相關專業一門重要的專業課程,其目的是強化本專業學生應用計算機解決專業問題的能力。這一課程在華東理工大學已開設30年,當時計算機在化工領域的應用主要是數值計算,這也一直是本門課程的核心內容。在多年的實踐中,本課程使用的編程語言從開始的Fortran變化到后來的C語言,但核心內容沒有明顯變化。在21世紀里,隨著計算機軟硬件技術的飛速發展,化工領域出現了很多優秀的專業軟件,使完成傳統化工過程設計的工作大大簡化。在這種形勢下,本門課程的內容也面臨調整的契機。
2006年起,華東理工大學化工學院進行了關于化工專業課程中計算機類課程的改革,決定將MATLAB作為“計算機化工應用”課程的編程語言。MATLAB軟件是一款優秀的數值計算軟件,利用這一軟件有助于學生掌握復雜數學問題的求解方法。隨著學生求解復雜模型能力的提高,相關專業課程的內容也可以更加深入并接近實際應用。同時本課程還能培養學生數學思維、興趣以及加強建模的能力,MATLAB語言的學習對這些能力的提高也很有幫助。
合適的教材對于課程教學目的的實現十分重要。在本課程建設之初,我們調查了國內外相關課程使用教材的情況。在國內,華東理工大學黃華江老師編著的《實用化工計算機模擬——MATLAB在化學工程中的應用》、朱開宏教授編著的《化學反應工程分析例題與習題(MATLAB版)》是最相關的兩本書籍,兩者都有大量豐富的實例,但美中不足的是不適合零基礎學生的學習;其他關于MATLAB的書籍則有的偏重數值分析內容,或者專業方向與本專業相差較遠。在國外類似的課程中,則大多數以數值分析的內容為主,如K.J.Beers編著的《NumericalMethodsforChemicalEngineeringApplicationinMATLAB》,A.Contantinides和N.Mostoufi編著的《NumericalMethodsforChemicalEngineerswithMATLABApplication》等。基于這種情況,我們決定編寫一本適合零基礎學生學習的教材。
本書在編寫過程中充分借鑒了國外高校相關課程的內容,在內容取舍上注重全面提煉化工專業學習過程可能涉及的數值計算內容,較好地平衡了數值計算、計算機語言和專業計算三方面的內容,具有自己的特色。從2008年起,本書的前身——《計算機化工應用講義》開始使用。根據教學情況2011年我們對該講義進行了改編。這次我們將進一步對全書進行系統的整編。
本書的內容可以分為兩部分,從緒論到第7章內容以模型數值求解為目標;而第8章到第10章則以模型,特別是經驗性模型的建立為核心展開。在華東理工大學的教學實踐中,第1~7章作為“計算機化工應用”的授課內容,是學生的必修內容,采用24學時課堂教學和16學時上機實踐完成;第8~10章作為“MATLAB與化工模擬計算”課程內容,供感興趣的學生選修。
由于作者水平有限,錯漏之處在所難免,請各位讀者不吝指正。以下是我們的聯系方式。
隋志軍
楊榛:
魏永明
本書編寫分工如下。
隋志軍:緒論,第1、3、6、7、8章,第9章第6節;
楊榛:第4、5、10章;
魏永明:第2章、第9章第1~5節;
最后由隋志軍統稿。
編者感謝朱開宏教授審閱全書和提出的寶貴意見;感謝國家“973”項目(2012CB720500)的資助。
編者
緒論
第1章MATLAB程序設計語言與初等數學運算
1.1變量
1.2數據類型
1.3MATLAB的基本數學運算
1.4數據輸入和輸出
1.5MATLAB圖形
1.6函數文件和腳本文件
1.7MATLAB函數
1.8關系和邏輯運算
1.9MATLAB程序流程控制
習題
第2章矩陣操作與線性方程組求解
2.1矩陣的生成
2.2矩陣的基本性質函數 緒論
第1章MATLAB程序設計語言與初等數學運算
1.1變量
1.2數據類型
1.3MATLAB的基本數學運算
1.4數據輸入和輸出
1.5MATLAB圖形
1.6函數文件和腳本文件
1.7MATLAB函數
1.8關系和邏輯運算
1.9MATLAB程序流程控制
習題
第2章矩陣操作與線性方程組求解
2.1矩陣的生成
2.2矩陣的基本性質函數
2.3矩陣操作
2.4矩陣分析函數
2.5線性方程組求解方法
2.6MATLAB求解線性方程組方法
2.7矩陣分塊與線性方程組的迭代解法
習題
第3章非線性方程組求解
3.1非線性方程(組)數值求解基本原理
3.2fzero函數
3.3多項式求根函數roots
3.4fsolve函數
3.5化工數值計算中的迭代與試差
習題
第4章插值與擬合
4.1函數插值
4.2分段插值
4.3MATLAB一維插值函數
4.4最小二乘法曲線擬合
4.5最小二乘法曲線擬合的MATLAB實現
習題
第5章數值微分與數值積分
5.1數值微分
5.2差分近似微分
5.3三次樣條插值函數求微分
5.4最小二乘法擬合函數求微分
5.5數值積分算法
5.6MATLAB數值積分函數
習題
第6章常微分方程數值解
6.1常微分方程定義
6.2初值問題的數值解方法
6.3MATLAB求解初值問題方法
6.4邊值問題的加權剩余法
6.5邊值問題的MATLAB求解方法
習題
第7章偏微分方程數值解
7.1微分方程的分類
7.2偏微分方程的定解問題
7.3偏微分方程數值解基本方法
7.4pdepe函數求解偏微分方程方法
7.5MATLAB偏微分方程工具箱的使用
習題
第8章概率論與數理統計
8.1化工數學模型概論
8.2概率論與數理統計基礎
8.3數理統計的幾個基本概念
8.4MATLAB實驗數據的初步處理
8.5參數估計
8.6假設檢驗
8.7方差分析
8.8回歸分析
8.9實驗設計
習題
第9章數值最優化方法
9.1最優化問題的基本形式與分類
9.2數值最優化算法的基本思路
9.3MATLAB最優化工具箱函數使用
9.4MATLAB全局優化工具箱
9.5優化工具箱圖形界面
9.6MATLAB最優化方法與模型參數回歸
習題
第10章神經網絡
10.1神經網絡概述
10.2神經網絡的MATLAB實現
10.3神經網絡在化工中的應用領域
習題
參考文獻