在有色金属、交通运输、化学化工、航空航天、金融工程、生物医学等许多领域,经常会遇到各种各样的计算问题。例如,求解具有几十个变量的线性或非线性方程组、求解复杂的微分方程,这些问题高度复杂,计算量很大,往往没有办法求得理论解。随着计算机技术的发展,人们可以有效地解决这类问题,由此诞生了一门新兴交叉学科—科学计算,它成为继理论研究和科学实验之后的第三种科学研究方法。
科学计算是研究工程技术问题以及其他应用问题的近似求解方法,并在计算机上进行编程实现的一门课程,它既有数学理论上的抽象性和严谨性,又有程序设计技术上的实用性和实践性。20世纪80年代以来,MATLAB等科学计算软件的产生,使得科学计算问题的实现变得十分方便、高效。
MATLAB代表了当今国际科学计算软件的先进水平,它将数值计算、符号计算、图形处理、系统仿真和程序流程控制等功能集成在统一的系统环境中,已发展成为适合多学科、广泛应用于科学研究和工程技术领域的程序设计语言。使用MATLAB作为计算工具,人们不需关注各种数值计算方法的具体细节和计算公式,也不需要繁琐的底层编程,从而可以专注于实际问题的分析和设计,大大提高工作效率和质量,为科学研究与工程应用提供重要手段。在高等学校,MATLAB已经成为许多课程的基本计算工具,颇受广大大学生、研究生的青睐。
本课程主要介绍科学计算问题的MATLAB实现方法,包括MATLAB基础知识、MATLAB矩阵处理、MATLAB程序流程控制、MATLAB绘图、数据分析与多项式计算、数值微积分与方程求解、MATLAB符号计算、MATLAB图形用户界面设计、Simulink系统仿真和外部程序接口共10个学习专题。
在学完本课程后,希望大家能理解MATLAB功能实现的数学背景与算法原理,掌握利用MATLAB进行问题求解的基本规律,能够使用MATLAB作为专业应用的工具,能从繁杂的计算事务中解放出来,促进计算机和专业应用的结合,促进计算机应用水平的提高和对专业知识的掌握。
高等数学,线性代数
1. 刘卫国主编,MATLAB程序设计与应用(第3版),ISBN 978-7-04-047813-6,普通高等教育“十一五”国家级规划教材,教育部大学计算机课程改革项目规划教材,湖南省普通高等学校优秀教材,高等教育出版社,2017年8月
2. 刘卫国主编,MATLAB科学计算实战(微课视频版),ISBN 978-7-302-63041-8,清华大学出版社,2023年7月
Q1:本课程的适用对象有哪些?
A1:本课程作为高等学校信息技术系列课程,适合理、工、农、医、经济管理等专业本科生和研究生学习。中南大学从2000年开始开设该课程,在历次人才培养方案制定中,很多学院开设了该课程。此外,本课程也适用于广大工程技术人员、科学研究工作者学习参考。
Q2:MATLAB也算一门程序设计语言吗?
A2:当然算,因为MATLAB具备程序设计语言的基本特征,能实现程序流程控制。但MATLAB语言又有别于传统意义上的程序设计语言,它出现的初衷是为了做矩阵运算,因此我们更愿意将MATLAB作为一种科学计算软件推荐给大家。MATLAB主要还是在学科应用层面使用,而且具备和学科应用结合的天然优势,所以本课程是助力“新工科”建设的重要课程(但MATLAB的应用范围绝不限于“工科”)。
Q3:本课程使用什么MATLAB版本?
A3:本课程使用MATLAB R2016a版本,但不妨碍大家使用别的版本,因为在不同MATLAB版本中大部分功能是一样的。在实际操作中,也要注意不同MATLAB版本的差异,因所使用的版本不同而可能使得有些函数或功能不完全相同,甚至不能使用,这时可以借助于MATLAB的帮助信息来分析不同版本的差异。
Q4:学习本课程是否需要先学习计算机程序设计?
A4:没有此要求,但如果具有高等数学、线性代数方面的基本知识对本课程的学习是有帮助的。
Q5:本课程的教学内容是如何组织的?
A5:本课程主要从算法实现角度组织课程内容,介绍利用MATLAB语言进行科学计算的方法(其实,我们讲MATLAB的应用,会涉及科学计算,但已远远超过科学计算的范畴)。本课程也介绍算法的基本思想,但和数学上的出发点是不同的,数学上介绍算法的构造、完成公式推导、分析算法性能(证明收敛性、分析误差等),本课程讲计算原理是为了更好地理解MATLAB的实现机理,更好地应用MATLAB解决实际问题,让大家既懂科学计算,又能做科学计算。