本书系统介绍了MATLAB特有的编程思想、高效的编程方法,以编程案例的形式介绍MATLAB在科学计算中的实际应用。书中内容涉及MATLAB矩阵运算、计算函数、符号运算、程序结构、二维/三维及动画绘图、Simulink仿真、App界面设计、建模方法及多种语言联合调用等。全书提供了300多个案例帮助读者全面理解MATLAB工具箱的使用方法,帮助读者轻松地创建人机交互界面,将C/C++/Python程序在MATLAB中运行,帮助读者掌握MATLAB科学计算和Simulink系统仿真的知识体系。本书知识要点如下:
MATLAB应用的基础知识;
MATLAB矩阵与数组的应用;
MATLAB符号与多项式运算;
MATLAB高等数学计算;
MATLAB程序设计方法;
MATLAB二维/三维及动画绘图;
Simulink系统仿真;
App界面设计及回调函数;
MATLAB与C/C++/Python语言的调用;
MATLAB数学建模。
本书以MATLAB2023a为操作平台,每个章节使用【实战练习】进行讲解,由浅入深、通俗易懂。该书共分为十章,内容从最基本的窗口操作开始,由矩阵使用到MATLAB的建模应用,共计使用了三百多个案例贯穿于每个章节中。所有例程内嵌程序命令、注释、说明和运行结果,图文并茂。该教材不仅适合理工类所有专业学生使用,也可作为一本计算机语言的开启和提高课程教材。本书讲解重视边学边练,配合演示文稿的课件和实战练习,有助于课堂教学和学生自学。特别在增强学习的可视性方面,书中的APP设计案例新颖实用,几乎涵盖了所有基本组件的应用。且将二维、三维、网格、网面图、色彩的渲染、光照效果及图像的动画设计嵌到了App中,突出了人机交互界面展示。
第1章 MATLAB基础概述1
1.1 MATLAB主要功能1
1.2 MATLAB R2023a主窗口2
1.2.1 命令行窗口2
【实战练习1-1】命令行窗口的使用3
1.2.2 工具栏窗口3
1.3 命令行窗口操作6
1.3.1 常用命令行窗口命令6
【实战练习1-2】保存、导入及查看命令的使用6
【实战练习1-3】表达式运算7
1.3.2 命令行窗口常用快捷键7
1.4 App设计(Designer)8
1.4.1 App的功能8
1.4.2 App的使用9
【实战练习1-4】使用App设计简单GUI9
1.5 认识Simulink10
1.5.1 Simulink初始界面10
1.5.2 Simulink简单仿真案例11
【实战练习1-5】Simulink简单仿真模型11
1.6 帮助窗口12
1.6.1 help命令12
1.6.2 demo命令13
第2章 MATLAB矩阵与数组的应用14
2.1 常量和变量14
2.1.1 常量14
2.1.2 变量15
2.1.3 变量使用规则15
2.1.4 全局变量15
2.1.5 数据类型16
【实战练习2-1】变量的应用17
2.1.6 常用标点符号的使用18
2.2 矩阵操作18
2.2.1 创建矩阵的方法19
【实战练习2-2】创建实数和复数矩阵19
2.2.2 创建向量的方法19
2.2.3 常用特色矩阵20
【实战练习2-3】创建特色矩阵21
2.2.4 稀疏矩阵22
【实战练习2-4】创建稀疏矩阵22
【实战练习2-5】创建对角稀疏矩阵23
【实战练习2-6】创建带状稀疏矩阵24
2.2.5 矩阵拆分(分解)24
【实战练习2-7】矩阵拆分的应用25
【实战练习2-8】矩阵扩展的应用25
2.3 矩阵基本运算25
2.3.1 矩阵常用运算25
【实战练习2-9】矩阵算术运算的应用26
【实战练习2-10】矩阵乘法运算的应用27
【实战练习2-11】矩阵左除运算的使用28
【实战练习2-12】矩阵复数运算的应用28
【实战练习2-13】关系运算的应用29
【实战练习2-14】逻辑运算的应用29
2.3.2 矩阵、向量元素的和与积运算30
【实战练习2-15】求矩阵元素的和与积30
2.3.3 矩阵、向量累加和与累乘积30
【实战练习2-16】求矩阵列元素的累加和与累乘积30
2.3.4 矩阵平均值和中值31
【实战练习2-17】求矩阵的平均值和中值31
2.3.5 矩阵最大值、最小值与排序31
【实战练习2-18】求向量的最大值、最小值32
【实战练习2-19】求矩阵最大值、最小值32
【实战练习2-20】矩阵升序和降序的应用33
2.3.6 矩阵的秩、迹和条件数34
【实战练习2-21】求矩阵的秩、迹和条件数34
2.3.7 矩阵的逆35
【实战练习2-22】利用逆矩阵求方程组的解35
2.3.8 矩阵的特征值和特征向量35
【实战练习2-23】求矩阵的特征向量36
2.3.9 矩阵的海森伯格变换36
【实战练习2-24】求海森伯格变换矩阵36
2.4 MATLAB常用函数及应用37
2.4.1 常用数学函数37
【实战练习2-25】求指数、余数及最小公倍数38
【实战练习2-26】求复数的模、相角和共轭复数38
【实战练习2-27】求阶乘及组合数38
【实战练习2-28】求矩阵的点乘39
【实战练习2-29】求矩阵的秩、逆及行列式的值39
【实战练习2-30】求矩阵维数及非零元素个数39
【实战练习2-31】求向量元素的全排列及排列个数40
2.4.2 常用三角函数40
【实战练习2-32】求给定角度的三角函数值41
2.4.3 常用取整函数41
【实战练习2-33】不同取整函数的应用41
2.4.4 随机函数42
【实战练习2-34】随机函数的多种应用43
2.4.5 转换函数43
【实战练习2-35】不同进制转换函数的应用44
2.4.6 字符串处理函数44
【实战练习2-36】字符串的查找及连接45
2.4.7 判断函数45
【实战练习2-37】判断矩阵是否包含元素46
【实战练习2-38】判断矩阵数据类型46
【实战练习2-39】判断矩阵中的质数46
【实战练习2-40】判断矩阵中的非零元素47
2.4.8 查找函数47
【实战练习2-41】查找矩阵元素坐标位置47
2.4.9 测试向量(矩阵)零元素函数48
【实战练习2-42】测试向量和矩阵是否存在非零元素48
2.4.10 日期和时间函数49
【实战练习2-43】利用函数输出指定时间49
2.4.11 标准差函数50
【实战练习2-44】求矩阵的标准差51
2.4.12 函数句柄51
【实战练习2-45】利用句柄实现函数计算51
【实战练习2-46】利用句柄实现求导数52
【实战练习2-47】利用句柄实现矩阵运算52
2.5 MATLAB数组表示53
2.5.1 结构数组53
【实战练习2-48】建立结构体数组53
【实战练习2-49】结构数组操作54
2.5.2 元胞(单元)数组55
【实战练习2-50】元胞数组的应用57
【实战练习2-51】元胞数组操作及绘图57
【实战练习2-52】函数句柄的元胞数组应用58
2.6 数组集合运算59
2.6.1 交运算59
2.6.2 差运算59
2.6.3 并运算59
2.6.4 异或运算59
2.6.5 唯一性运算59
2.6.6 集合连接运算60
2.6.7 集合判断运算60
【实战练习2-53】数组集合的应用60
第3章 符号与多项式运算62
3.1 MATLAB中的符号运算62
3.1.1 符号变量与符号表达式62
【实战练习3-1】建立符号矩阵64
3.1.2 符号基本运算65
【实战练习3-2】符号算术运算65
【实战练习3-3】符号的关系运算与逻辑运算66
【实战练习3-4】符号表达式的替换67
3.2 多项式表示67
3.2.1 直接建立多项式67
3.2.2 使用函数建立多项式68
【实战练习3-5】符号与多项式的转换68
3.3 多项式运算68
3.3.1 多项式加、减运算69
【实战练习3-6】多项式加、减运算的应用69
3.3.2 多项式乘、除运算69
【实战练习3-7】多项式的乘、除运算的应用69
3.3.3 多项式分解、展开与提取70
【实战练习3-8】多项式分解与展开的应用70
【实战练习3-9】提取多项式的分子和分母70
【实战练习3-10】提取与展开三角函数多项式70
【实战练习3-11】合并同类项的应用71
3.3.4 多项式化简71
【实战练习3-12】化简并计算简单多项式71
【实战练习3-13】化简并计算复杂多项式72
3.3.5 表达式之间的转换72
【实战练习3-14】多项式替换的应用72
3.3.6 复合函数与反函数73
【实战练习3-15】复合函数及反函数的应用73
3.3.7 分数多项式通分73
【实战练习3-16】分数多项式通分计算的应用73
3.4 多项式求解(多项式方程求解)74
3.4.1 多项式的特征值(多项式的解)74
3.4.2 特征多项式系数74
【实战练习3-17】求多项式的解及多项式系数74
3.4.3 方程与方程组的符号解75
【实战练习3-18】求方程及方程组的数值解75
【实战练习3-19】求微分方程的符号解75
【实战练习3-20】求方程组的符号解76
【实战练习3-21】求复数乘积多项式的解76
3.4.4 多项式数值解77
【实战练习3-22】求多项式指定的数值解77
3.4.5 多项式拟合77
【实战练习3-23】温度值的直线拟合77
【实战练习3-24】求多项式的2阶和4阶拟合78
【实战练习3-25】求多项式的曲线拟合79
3.5 多项式求导79
3.5.1 多项式直接求导数79
【实战练习3-26】多项式求导的应用80
3.5.2 插值、拟合多项式并求导80
【实战练习3-27】插值、拟合多项式并求导数80
第4章 MATLAB的高等数学计算82
4.1 傅里叶变换与反变换82
4.1.1 傅里叶变换82
4.1.2 傅里叶反变换82
【实战练习4-1】求傅里叶变换及反变换82
4.1.3 快速傅里叶变换83
【实战练习4-2】快速傅里叶变换的应用84
4.1.4 快速傅里叶反变换84
【实战练习4-3】快速傅里叶反变换的应用85
4.2 拉普拉斯变换与反变换86
4.2.1 拉普拉斯变换86
4.2.2 拉普拉斯反变换86
【实战练习4-4】拉普拉斯变换和反变换应用86
4.3 Z变换与Z反变换86
4.3.1 Z变换87
4.3.2 Z反变换87
【实战练习4-5】Z变换和Z反变换应用87
4.4 求极限87
【实战练习4-6】极限求解应用88
4.5 求导数88
4.5.1 语法格式88
4.5.2 使用案例88
【实战练习4-7】导数求解应用88
【实战练习4-8】二阶导数及求值应用89
4.6 求积分89
4.6.1 使用int()函数求积分89
【实战练习4-9】求不定积分90
【实战练习4-10】求定积分90
【实战练习4-11】求二重积分90
4.6.2 使用quad()(quadl)函数求积分91
【实战练习4-12】利用小梯形的面积求定积分91
【实战练习4-13】利用函数求表达式积分92
4.7 零点与极值92
4.7.1 求零点92
【实战练习4-14】根据零点求解92
【实战练习4-15】求三角函数的零点93
4.7.2 求极值93
【实战练习4-16】求给定区间的极值93
4.8 方程求解93
4.8.1 线性方程组求解94
【实战练习4-17】使用除法求解多元方程组94
【实战练习4-18】使用函数求解多元方程组94
【实战练习4-19】使用solve()函数求解多元方程组符号解94
【实战练习4-20】使用solve()函数求解多元方程组数值解95
4.8.2 符号代数方程求解95
【实战练习4-21】符号代数方程求解的应用95
4.8.3 常微分方程(组)的求解96
【实战练习4-22】求方程通解96
【实战练习4-23】求方程特解96
【实战练习4-24】求方程组通解97
4.9 级数97
4.9.1 级数求和97
【实战练习4-25】求级数的前n项和98
4.9.2 一元函数的泰勒级数展开98
【实战练习4-26】求给定的泰勒展开式98
4.9.3 麦克劳林公式99
【实战练习4-27】求函数的麦克劳林展开式99
4.10 函数拟合与插值99
4.10.1 一维插值99
【实战练习4-28】正弦函数的一维插值及绘图100
【实战练习4-29】测试点的插值应用100
【实战练习4-30】利用默认插值并绘图101
【实战练习4-31】利用三次样条插值和线性插值绘图102
4.10.2 二维插值102
【实战练习4-32】对平均工资进行二维插值103
【实战练习4-33】对给定函数插值拟合三维曲面103
4.10.3 三维插值与三维切片104
【实战练习4-34】指定位置的三维函数切片绘图105
【实战练习4-35】根据给定三维函数进行不同三维插值并绘图105
4.10.4 多维散点数据插值106
【实战练习4-36】基于均匀网格对散点数据插值与拟合107
【实战练习4-37】基于四维函数网格插值、拟合与绘图107
【实战练习4-38】多维插值用于绘制精确图108
【实战练习4-39】同一样本数据四种插值及拟合的绘图比较109
第5章 MATLAB程序设计111
5.1 数据输入/输出111
5.1.1 数据输入111
【实战练习5-1】输入函数input( )的应用112
5.1.2 数据输出112
【实战练习5-2】无格式输出disp( )函数的应用112
【实战练习5-3】有格式输出fprintf( )函数的应用113
【实战练习5-4】字符串输出的应用114
【实战练习5-5】数值输出的应用114
5.2 命令的流程控制115
5.2.1 顺序结构115
【实战练习5-6】顺序结构程序应用115
5.2.2 选择结构115
【实战练习5-7】简单选择结构程序的应用116
【实战练习5-8】利用选择结构处理阶段函数116
【实战练习5-9】利用条件嵌套判断输入数据118
【实战练习5-10】利用条件嵌套购买折扣商品118
【实战练习5-11】利用多分支选择购买折扣商品120
【实战练习5-12】利用多分支选择将成绩分段输出120
5.2.3 循环结构122
【实战练习5-13】利用while循环计算阶乘122
【实战练习5-14】利用for循环计算矩阵行和列的和123
【实战练习5-15】利用条件和循环输出水仙花数123
【实战练习5-16】利用for循环绘制同心圆124
【实战练习5-17】利用for循环输出斐波那契级数124
5.2.4 break与continue语句125
【实战练习5-18】continue与break的应用125
【实战练习5-19】利用continue与break语句设计猜数小游戏125
【实战练习5-20】利用break语句设计抓奖程序126
【实战练习5-21】利用break和continue语句设计猜拳游戏127
5.2.5 循环嵌套128
【实战练习5-22】利用循环嵌套完成阶乘计算129
【实战练习5-23】利用循环嵌套完成条件购物129
【实战练习5-24】利用循环嵌套完成空心正方形输出130
【实战练习5-25】利用循环嵌套完成空心三角形输出130
【实战练习5-26】利用循环嵌套完成实心菱形输出131
【实战练习5-27】利用循环嵌套完成回字形输出132
【实战练习5-28】利用循环嵌套实现概率抽取133
5.2.6 try语句134
【实战练习5-29】利用try语句实现矩阵乘积135
5.3 m文件135
5.3.1 脚本文件与函数文件135
5.3.2 函数文件的基本使用136
【实战练习5-30】利用函数将直角坐标转换为极坐标137
【实战练习5-31】利用递归函数求阶乘137
【实战练习5-32】利用递归函数求斐波那契级数137
【实战练习5-33】利用函数求一元二次方程的解138
5.3.3 函数文件的嵌套使用139
【实战练习5-34】利用函数嵌套调用实现矩阵运算139
【实战练习5-35】利用函数嵌套绘制微分方程曲线141
【实战练习5-36】利用函数嵌套调用求极值142
5.4 文件操作142
5.4.1 文件操作函数143
5.4.2 文件的打开143
5.4.3 二进制文件的读写143
【实战练习5-37】读二进制文件144
【实战练习5-38】写二进制文件144
【实战练习5-39】二进制文件读写操作145
5.4.4 文件的关闭145
5.4.5 文本文件的读写145
【实战练习5-40】读文本文件146
【实战练习5-41】写文本文件147
5.4.6 文件定位和查询文件状态147
【实战练习5-42】对文本文件进行操作148
5.4.7 按行读取文件数据148
【实战练习5-43】读取文件生成矩阵148
【实战练习5-44】数据文件的读写与输出149
5.5 MATLAB面向对象设计方法149
5.5.1 类的定义及说明149
5.5.2 类的应用案例150
【实战练习5-45】完成一个简单类的调用150
【实战练习5-46】使用类调用完成判别式151
【实战练习5-47】使用类绘制三维网格图152
【实战练习5-48】使用类计算三角形面积152
5.5.3 类的继承和多态154
【实战练习5-49】类的继承与多态应用154
5.5.4 类中get()和set()函数156
【实战练习5-50】类中get()和set()函数的应用157
温馨提示:请使用泸西县图书馆的读者帐号和密码进行登录