专业文档是百度文库认证用户/机构上传的专业性文档,文库VIP用户或购买专业文档下载特权礼包的其他会员用户可用专业文档下载特权免费下载专业文档。只要带有以下“专业文档”标识的文档便是该类文档。
VIP免费文档是特定的一类共享文档,会员用户可以免费随意获取,非会员用户需要消耗下载券/积分获取。只要带有以下“VIP免费文档”标识的文档便是该类文档。
VIP专享8折文档是特定的一类付费文档,会员用户可以通过设定价的8折获取,非会员用户需要原价获取。只要带有以下“VIP专享8折优惠”标识的文档便是该类文档。
付费文档是百度文库认证用户/机构上传的专业性文档,需要文库用户支付人民币获取,具体价格由上传人自由设定。只要带有以下“付费文档”标识的文档便是该类文档。
共享文档是百度文库用户免费上传的可与其他用户免费共享的文档,具体共享方式由上传人自由设定。只要带有以下“共享文档”标识的文档便是该类文档。
spContent=当前,科学计算已经成为科学研究、技术创新的重要方法与手段,而作为实现工具的科学计算软件无疑具有至关重要的作用。MATLAB为众多领域的计算问题提供了全面的解决方案,代表了当今国际科学计算软件的先进水平,被誉为巨人肩膀上的工具。通过本课程的学习,我们将能站在巨人的肩膀上领略各种计算之美。
在有色金属、交通运输、化学化工、航空航天、金融工程、生物医学等许多领域,经常会遇到各种各样的计算问题。例如,求解具有几十个变量的线性或非线性方程组、求解复杂的微分方程,这些问题高度复杂,计算量很大,往往没有办法求得理论解。随着计算机技术的发展,人们可以有效地解决这类问题,由此诞生了一门新兴交叉学科—科学计算,它成为继理论研究和科学实验之后的第三种科学研究方法。
科学计算是研究工程技术问题以及其他应用问题的近似求解方法,并在计算机上进行编程实现的一门课程,它既有数学理论上的抽象性和严谨性,又有程序设计技术上的实用性和实践性。20世纪80年代以来,MATLAB等科学计算软件的产生,使得科学计算问题的实现变得十分方便、高效。
MATLAB代表了当今国际科学计算软件的先进水平,它将数值计算、符号计算、图形处理、系统仿真和程序流程控制等功能集成在统一的系统环境中,已发展成为适合多学科、广泛应用于科学研究和工程技术领域的程序设计语言。使用MATLAB作为计算工具,人们不需关注各种数值计算方法的具体细节和计算公式,也不需要繁琐的底层编程,从而可以专注于实际问题的分析和设计,大大提高工作效率和质量,为科学研究与工程应用提供重要手段。在高等学校,MATLAB已经成为许多课程的基本计算工具,颇受广大大学生、研究生的青睐。
在学完本课程后,希望大家能理解MATLAB功能实现的数学背景与算法原理,掌握利用MATLAB进行问题求解的基本规律,能够使用MATLAB作为专业应用的工具,能从繁杂的计算事务中解放出来,促进计算机和专业应用的结合,促进计算机应用水平的提高和对专业知识的掌握。
MOOC课程考试采用百分制,其中单元测验和单元作业各占30%(单元作业采用学生互评的方式),MOOC课程考试占40%。总评成绩达到60分但低于85分的同学可以获得合格证书,总评成绩在85分及以上的同学可以获得优秀证书。
(2)单元作业在完成并提交后需要同学们互评,只有成功提交自己的作业后,才能参与作业互评。设置的作业互评最少份数为5份,如果未参与互评将给与所得分数的70%,未完成互评将给与所得分数的80%,全部完成互评将给与所得分数的100%。
什么是计算?什么是科学计算?科学计算与MATLAB的关系?MATLAB功能演示;课程学习目标与内容 |
|
MATLAB操作界面;文件搜索路径 |
|
MATLAB数据类型;输出格式;常用数学函数 |
|
变量与赋值语句;预定义变量;变量的管理 |
|
矩阵的建立;冒号表达式;结构矩阵和单元矩阵 |
|
矩阵元素的引用方式;子矩阵;删除矩阵的元素;改变矩阵的形状 |
|
算术运算;关系运算;逻辑运算 |
|
字符串的表示;字符串处理函数;字符串应用举例 |
|
通用特殊矩阵;学科性特殊矩阵 |
|
对角阵与三角阵;矩阵的转置与旋转;矩阵求逆 |
|
方阵的行列式;矩阵的秩与迹;向量和矩阵的范数;矩阵的条件数 |
|
2.4 矩阵的特征值与特征向量 |
特征值与特征向量的概念;求特征值与特征向量;特征值的几何意义 |
矩阵的存储方式;稀疏存储方式的产生;稀疏矩阵应用举例 |
|
程序和程序设计;程序的三种基本结构;脚本文件和函数文件;顺序结构;顺序结构程序举例 |
|
什么是选择结构;if语句的格式与执行过程;程序举例 |
|
switch语句的格式与执行过程;程序举例 |
|
什么是循环结构;for语句的格式与执行过程;采用向量化运算对程序进行优化;程序举例(计算π的三种方法) |
|
函数文件的定义与调用;匿名函数;程序举例 |
|
递归函数的概念;调用过程;应用举例 |
|
3.8 函数参数与变量的作用域 |
函数参数的可调性;全局变量与局部变量 |
图形标注;坐标控制;图形保持;图形窗口的分割 |
|
其他坐标图形;统计图;矢量图形 |
|
三维数据的生成;绘制三维曲面的方法 |
|
视点处理;色彩处理;裁剪处理 |
|
专题五 数据分析与多项式计算 |
|
最大值和最小值;求和与求积;平均值和中值;累加和与累乘积;标准方差与相关系数;排序 |
|
多项式的四则运算;多项式的导函数;多项式的求值;多项式的求根 |
|
数据插值的概念与原理;插值函数;实例(机翼的加工问题,粮储仓的通风问题) |
|
机动车刹车距离问题;沙盘制作问题 |
|
曲线拟合的概念与最小二乘原理;相关函数;实例(人口预测问题,家庭收入与储蓄关系问题) |
|
股票预测问题;算法的参数优化问题 |
|
专题六 数值微积分与方程求解 |
|
数值微积分基本原理;数值积分实现方法;应用举例 |
|
线性方程组的直接解法;线性方程组的迭代解法 |
|
平面桁架结构受力分析的问题;小行星运行轨道计算问题 |
|
6.4 非线性方程求解与函数极值计算 |
单变量非线性方程求解;非线性方程组求解;函数极值计算;实例(仓库选址问题) |
一般概念;求解函数;刚性问题 |
|
洛特卡-沃尔泰拉(Lotka-Volterra)模型的分析与求解 |
|
建立符号对象;符号对象的运算;符号矩阵 |
|
符号极限;符号导数;符号积分 |
|
级数符号求和;函数的泰勒级数 |
|
符号代数方程求解;符号常微分方程求解 |
|
图形对象的句柄;图形对象的属性;图形窗口的操作;坐标轴的操作 |
|
曲线对象;曲面对象;光照处理;图形对象的反射特性 |
|
图形用户界面的组成;控件对象及其操作;菜单对象及其操作 |
|
图形界面设计窗口;图形用户界面设计工具;定义回调函数 |
|
Simulink的启动;系统仿真模型的创建;仿真参数的设置 |
|
子系统的创建;子系统的封装;子系统的条件执行 |
|
什么叫S函数;用M文件编写S函数的方法;在仿真模型中使用S函数的方法 |
|
专题十 外部程序接口 |
|
文件的概念;文件操作函数;文件操作举例 |
|
MAT文件的概念;C++程序中MAT文件的基本操作;mxArray对象;生成应用程序并运行 |
|
MEX库函数;MEX文件源程序的构成;MEX文件的编译 |
|
MATLAB引擎的概念、使用、编译与运行 |
|
刘卫国主编,MATLAB程序设计与应用(第3版),ISBN 978-7-04-,普通高等教育“十一五”国家级规划教材,教育部大学计算机课程改革项目规划教材,湖南省普通高等学校优秀教材,高等教育出版社,2017年8月
(教材中有许多微视频,直接扫描二维码即可观看,还有大量练习题和操作题可供学习过程中使用)
Q1:本课程的适用对象有哪些?
A1:本课程作为高等学校信息技术系列课程,适合理、工、农、医、经济管理等专业本科生和研究生学习。中南大学从2000年开始开设该课程,在历次人才培养方案制定中,很多学院开设了该课程。此外,本课程也适用于广大工程技术人员、科学研究工作者学习参考。
Q2:MATLAB也算一门程序设计语言吗?
A2:当然算,因为MATLAB具备程序设计语言的基本特征,能实现程序流程控制。但MATLAB语言又有别于传统意义上的程序设计语言,它出现的初衷是为了做矩阵运算,因此我们更愿意将MATLAB作为一种科学计算软件推荐给大家。MATLAB主要还是在学科应用层面使用,而且具备和学科应用结合的天然优势,所以本课程是助力“新工科”建设的重要课程(但MATLAB的应用范围绝不限于“工科”)。
Q3:本课程使用哪个MATLAB版本?
A3:本课程使用MATLAB R2016a,但不妨碍大家使用别的版本,因为在不同版本中大部分功能是一样的。大家也要注意不同MATLAB版本的差异,在实际操作时会因所使用的版本不同而使得有些函数或功能不完全相同或不能使用。例如,MATLAB R2016b/R2017b版本中没有eigshow函数,fplot、fplot3函数的用法跟MATLAB版本有关,等等。在实际操作中,可以借助于MATLAB的帮助信息分析不同版本的差异。
Q4:学习本课程是否需要先学习计算机程序设计?
A4:没有此要求,但如果具有高等数学、线性代数方面的基本知识对本课程的学习是有帮助的。
Q5:本课程的教学内容是如何组织的?
A5:本课程主要从算法实现角度组织课程内容,介绍利用MATLAB语言进行科学计算的方法(其实,我们讲MATLAB的应用,会涉及科学计算,但已远远超过科学计算的范畴)。本课程也介绍算法的基本思想,但和数学上的出发点是不同的,数学上介绍算法的构造、完成公式推导、分析算法性能(证明收敛性、分析误差等),本课程讲计算原理是为了更好地理解MATLAB的实现机理,更好地应用MATLAB解决实际问题,让大家既懂科学计算,又能做科学计算。
MATLAB 预先设置了不同的曲线样式属性值,分别控制曲线的色彩、线型和标识符。
LineSpec中设置曲线线型、标识符和颜色三项属性时,控制符的顺序不受限制并可以省略或者部分省略。也就是说
使用hold all命令可以阻止调用plot函数时自动重置ColorOrder和LineStyleOrder属性,而是循环使用。注意hold on只是使多次绘制的图形叠加(相当于NextPlot),但不能阻止属性重置。
MATLAB 图形对象都有自己的属性,通过修改属性就可以修改图形曲线的外观,这也是句柄图形和图形用户界面操作图形对象的方法。绘制曲线时,可以通过修改下列属性完成对曲线细节的设置:
注意:四个属性是针对当前坐标系中所有曲线。
subplot 函数把现有的图形窗体分割成指定行数和列数的区域,在每个区域内都可以包含一个绘图轴,利用该函数选择不同的绘图区,然后所有的绘图操作都将结果输出到指定的绘图区中。
subplot 函数的基本用法如下:
其中,m 和n 为将图形窗体分割成的行数和列数,p 为选定的窗体区域的序号,以行元素优先顺序排列。
所谓MATLAB 的绘图区域是指图形窗体中的轴(Axes),需要牢记一点,所有MATLAB的图形对象都是绘制在轴的上面,所以控制绘图的区域也就是控制轴的显示区域。
axis 函数可以修改图形窗体轴的范围,它的基本语法格式如下:
绘制曲线的轴还需要设置坐标线之间的间隔(Ticks),在默认的情况下,MATLAB 按照绘制数据的范围设置坐标线的间隔,这种间隔的设置是自动完成的,用户也可以根据自己的需要设置这些间隔,具体的方法是通过设置轴的XTick 或者YTick 属性实现对X 轴或者Y 轴的坐标间隔设置。
** 注意:set 函数和get 函数是用来设置/获取MATLAB 图形对象属性的常用函数。本例子使用gca 函数来获取当前的轴图形对象的句柄。**
MATLAB 图形窗体的文本信息主要包括图形标题、文本注释、轴标签和图例等。
为图形窗体增加这些文本信息一般有多种途径,或者通过菜单命令,或者通过属性编辑器,或者使用MATLAB 提供的函数。MATLAB 的图形窗体Insert 菜单下包含多个菜单命令可以用来添加这些格式化的文本信息,而通过MATLAB 图形编辑器,配合不同对象的属性编辑器也可以完成添加格式化文本信息的工作。不过这些方法都没有利用函数编写程序
添加图形的标题需要使用title 函数,该函数的基本用法为:
其中,字符串string 为图形窗体的标题,该标题将被自动地设置在轴的正中顶部。
添加轴的图例需要使用函数legend,该函数的基本语法为:
其中,字符串string1、string2 为图例的说明性文本,MATLAB 将自动地按照绘制在轴上的曲线的绘制次序选择相应的文本作为图例。
一般地,可以使用xlabel、ylabel 和zlabel 函数分别为图形窗体的X 轴、Y 轴和Z 轴添加轴标签。以X 轴为例,这三个函数的基本使用语法如下:
其中,string 就是坐标轴的标签。坐标轴的标签自动与坐标轴居中对齐。
创建文本注释的时候可以将文本注释首先保存在元胞数组中,然后使用text 函数完成向图形窗体添加文本注释的工作。text 函数的基本语法为:
其中,x 和y 是文本注释添加的坐标值,该坐标值使用当前轴系的单位设置,这个坐标也就是文本起始点的坐标。
创建格式化文本标注的方法:
文本标注的字体属性可以在创建文本标注的时候进行设置,其中有关字体本身的属性包括:
利用** LaTeX 字符集 和 MATLAB 文本注释 **的定义,就可以在MATLAB 的图形文本标注中使用希腊字符、数学符号或者上标和下标字体等。
在MATLAB 图形窗体的所有文本标注中都可以使用这些特殊的文本,比如在标题、坐标轴标签、文本注释中,使用特殊文本时一定要注意不要忘记“\”符号,否则MATLAB就会按照普通文本处理这些字符。除了直接使用附录中的LaTeX 字符集外,还可以用下面的标识符组合完成更丰富的字体标注。
设置字体的大小或者名称将直接影响接在定义符后面的文本内容,直到下一个字体定
进行上标或者下标文本的注释需要使用“_”和“^”字符。进行上标标注的方法如下:
柱状图(直方图)用来显示数据的分布情况,比如显示一组数据的概率分布情况。柱状图可以绘制在普通的直角坐标下,也可以绘制在极坐标下,使用的函数分别为hist 和rose。这两个函数分别计算输入向量中数据落入某一范围的数量,而绘制的柱状高度或者长度则表示落入该范围的数据的个数。
绘制火柴杆图可以使用stem 函数或者stem3 函数,前者绘制二维空间的曲线,后者绘制三维空间的曲线,而阶梯图需要使用stairs 函数。
除了上述四种类型的特殊绘图函数以外,MATLAB 还能够绘制矢量方向图和等高线图,
一个figure即为一个窗口,可以使用figure命令新建窗口。
一个figure中可以包含若干个axis,一般情况下只包含一个。而使用subplot时则包含多个axis。新建axis 可以使用命令axes。
分为绘图区,由属性Position确定;绘图区外面有显示坐标轴和文字的区域,大小由TightInset确定;此外,还允许有一定的margin,最终axis所占的位置及大小,由属性OuterPosition确定。也就是说,设置的postion属性应该满足在OuterPosition内。这些位置属性的单位由Units属性确定。
决定坐标轴范围的模式(手动或matlab自动) |
决定坐标轴刻度位置的模式 |
决定轴刻度符号标记的模式 |
照相机的正位向量:[x,y,z]就是谁朝上的意思 |
个人最近使用的一个creatBar函数
《MATLAB基础与编程入门》
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。