课程概述

      在有色金属、交通运输、化学化工、航空航天、金融工程、生物医学等许多领域,经常会遇到各种各样的计算问题。例如,求解具有几十个变量的线性或非线性方程组、求解复杂的微分方程,这些问题高度复杂,计算量很大,往往没有办法求得理论解。随着计算机技术的发展,人们可以有效地解决这类问题,由此诞生了一门新兴交叉学科—科学计算,它成为继理论研究和科学实验之后的第三种科学研究方法。

      科学计算是研究工程技术问题以及其他应用问题的近似求解方法,并在计算机上进行编程实现的一门课程,它既有数学理论上的抽象性和严谨性,又有程序设计技术上的实用性和实践性。20世纪80年代以来,MATLAB等科学计算软件的产生,使得科学计算问题的实现变得十分方便、高效。

      MATLAB代表了当今国际科学计算软件的先进水平,它将数值计算、符号计算、图形处理、系统仿真和程序流程控制等功能集成在统一的系统环境中,已发展成为适合多学科、广泛应用于科学研究和工程技术领域的程序设计语言。使用MATLAB作为计算工具,人们不需关注各种数值计算方法的具体细节和计算公式,也不需要繁琐的底层编程,从而可以专注于实际问题的分析和设计,大大提高工作效率和质量,为科学研究与工程应用提供重要手段。在高等学校,MATLAB已经成为许多课程的基本计算工具,颇受广大大学生、研究生的青睐。

      本课程主要介绍科学计算问题的MATLAB实现方法,包括MATLAB基础知识、MATLAB矩阵处理、MATLAB程序流程控制、MATLAB绘图、数据分析与多项式计算、数值微积分与方程求解、MATLAB符号计算、MATLAB图形用户界面设计、Simulink系统仿真和外部程序接口共10个学习专题。

证书要求

为积极响应国家低碳环保政策, 2021年秋季学期开始,中国大学MOOC平台将取消纸质版的认证证书,仅提供电子版的认证证书服务,证书申请方式和流程不变。

 

电子版认证证书支持查询验证,可通过扫描证书上的二维码进行有效性查询,或者访问 https://www.icourse163.org/verify,通过证书编号进行查询。学生可在“个人中心-证书-查看证书”页面自行下载、打印电子版认证证书。

 

完成课程教学内容学习和考核,成绩达到课程考核标准的学生(每门课程的考核标准不同,详见课程内的评分标准),具备申请认证证书资格,可在证书申请开放期间(以申请页面显示的时间为准),完成在线付费申请。

 

认证证书申请注意事项:

1. 根据国家相关法律法规要求,认证证书申请时要求进行实名认证,请保证所提交的实名认证信息真实完整有效。

2. 完成实名认证并支付后,系统将自动生成并发送电子版认证证书。电子版认证证书生成后不支持退费。


预备知识

高等数学,线性代数

授课大纲

专题〇 初识MATLAB

课程导入

专题一 MATLAB基础知识

1.1 MATLAB系统环境

1.2 MATLAB数值数据

1.3 变量及其操作

1.4 MATLAB矩阵的表示

1.5 矩阵元素的引用

1.6 MATLAB基本运算

1.7 字符串处理

专题一总结

专题一单元测验

专题一单元作业

专题二 MATLAB矩阵处理

2.1 特殊矩阵

2.2 矩阵变换

2.3 矩阵求值

2.4 矩阵的特征值与特征向量

2.5 稀疏矩阵

专题二总结

专题二单元作业

专题二单元测验

专题三 MATLAB程序流程控制

3.1 顺序结构程序

3.2 用if语句实现选择结构

3.3 用switch语句实现选择结构

3.4 用for语句实现循环结构

3.5 用while语句实现循环结构

3.6 函数文件的定义与调用

3.7 函数的递归调用

3.8 函数参数与变量的作用域

专题三总结

专题三单元测验

专题三单元作业

专题四 MATLAB绘图

4.1 二维曲线

4.2 绘制图形的辅助操作

4.3 其他形式的二维曲线

4.4 三维曲线

4.5 三维曲面

4.6 图形修饰处理

4.7 交互式绘图工具

专题四总结

专题四单元测验

专题四单元作业

专题五 数据分析与多项式计算

5.1 数据统计分析

5.2 多项式计算

5.3 数据插值

5.4 数据插值应用举例

5.5 曲线拟合

5.6 曲线拟合应用举例

专题五总结

专题五单元测验

专题五单元作业

专题六 数值微积分与方程求解

6.1 数值微分与数值积分

6.2 线性方程组求解

6.3 线性方程组应用举例

6.4 非线性方程求解与函数极值计算

6.5 常微分方程数值求解

6.6 常微分方程应用举例

专题六总结

专题六单元测验

专题六单元作业

专题七 MATLAB符号计算

7.1 符号对象

7.2 符号微积分

7.3 级数

7.4 符号方程求解

专题七总结

专题七单元作业

专题七单元测验

专题八 MATLAB图形用户界面设计

8.1 图形窗口与坐标轴

8.2 曲线与曲面对象

8.3 图形用户界面设计方法

8.4 用户界面设计工具

8.5 APP设计工具

8.6 图形用户界面应用举例

专题八总结

专题八单元测验

专题八单元作业

专题九 Simulink系统仿真

9.1 Simulink仿真基础

9.2 子系统的创建与封装

9.3 S函数的设计与应用

9.4 Simulink仿真应用举例

专题九总结

专题九单元测验(不计入总分)

专题十 外部程序接口

10.1 在Excel中使用MATLAB

10.2 MATLAB文件操作

10.3 在其他语言程序中读写MATLAB的数据文件

10.4 在MATLAB中调用其他语言编写的程序

10.5 在其他语言程序中调用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解决实际问题,让大家既懂科学计算,又能做科学计算。