全书共分为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神经网络在化工中的应用领域
习题
参考文献