书籍详情

薛定宇教授大讲堂:MATLAB程序设计(卷Ⅰ)

薛定宇教授大讲堂:MATLAB程序设计(卷Ⅰ)

作者:薛定宇

出版社:清华大学出版社

出版时间:2019-06-01

ISBN:9787302518686

定价:¥69.00

购买这本书可以去
内容简介
  MATLAB语言是进行科学计算的利器。本书系统地论述了 MATLAB的功能及使用 MATLAB语言编程的方法。本书内容包括 MATLAB语言的常用数据结构和语句结构、矩阵的代数运算、c越函数的计算方法与数据处理的方法、 MATLAB语言的流程控制结构与应用、 MATLAB函数编写与调试,以及 MATLAB的科学可视化方法。此外,本书还介绍了 MATLAB语言的接口设计、面向对象的程序设计方法与图形用户界面设计方法等。 本书可作为一般读者学习和掌握 MATLAB语言的工具书,也可作为高等学校理工科各类专业本科生与研究生学习计算机数学语言(MATLAB)的教材。
作者简介
  薛定宇教授:分别在沈阳工业大学、东北大学和英国Sussex大学获得学士(1985年)、硕士(1988年)和博士学位(1992年),1997年任东北大学信息学院教授。深耕于计算机在数学与自动控制学科的应用,主持了国家精品课程建设,并于1996年在清华大学出版社出版《控制系统计算机辅助设计——MATLAB与应用》,该教材被认为是国内MATLAB应用领域具有深远影响的一部图书,为MATLAB在国内高校教学与科研中的普及起到了巨大的作用。薛定宇教授先后被评为辽宁省教学名师、辽宁省优秀教师,获得g家级教学成果二等奖。其主讲的“控制系统仿真与CAD”课程被评为g家级精品课程、g家级精品资源共享课程;主讲的“现代科学运算——MATLAB语言与应用”课程被评为辽宁省精品资源共享课程,配套录制的全新慕课课程均上线于爱课程与中国慕课网站。
目录

目 录 

CONTENTS

第 1章计算机数学语言概述  1 

1.1数学问题计算机求解概述  1 

1.1.1为什么要学习计算机数学语言· 1 

1.1.2数学问题的解析解与数值解· 4 

1.1.3数学运算问题软件包发展概述· 5 

1.1.4常规计算机语言的局限性  7 

1.2计算机数学语言简介  8 

1.2.1计算机数学语言的出现  8 

1.2.2有代表性的计算机数学语言· 9 

1.3科学运算问题的三步求解方法  10本章习题  12第 2章 MATLAB语言程序设计基础  13 

2.1 MATLAB命令窗口与基本命令  14 

2.1.1变量名命名规则 14 

2.1.2保留的常数 · 15 

2.1.3显示格式的设置 16 

2.1.4底层操作系统命令  16 

2.1.5 MATLAB的工作环境设置 17 

2.1.6 MATLAB的工作空间与管理  18 

2.1.7 MATLAB的其他辅助工具 18 

2.2常用数据结构 · 19 

2.2.1数值型数据 · 19 

2.2.2符号型数据 · 20 

2.2.3任意符号型矩阵的生成  22 

2.2.4符号型函数 · 22 

2.2.5整型变量与逻辑变量  22 

2.2.6数据结构类型的识别  23 

·iv·薛定宇教授大讲堂(卷 I):MATLAB程序设计 

2.2.7矩阵的维数与长度  23 

2.3字符串数据结构 · 24 

2.3.1一般字符串的表示  24 

2.3.2字符串的处理方法  24 

2.3.3字符串的转换与读写方法  26 

2.3.4字符串命令的执行  27 

2.3.5 MuPAD接口函数的编写 · 27 

2.4其他常用数据结构 28 

2.4.1多维数组 · 28 

2.4.2单元数组 · 29 

2.4.3表格数据 · 30 

2.4.4结构体 · 32 

2.4.5其他数据结构 33 

2.5 MATLAB的基本语句结构 · 33 

2.5.1直接赋值语句 33 

2.5.2函数调用语句 34 

2.5.3多样的函数调用机制  34 

2.5.4冒号表达式 · 34 

2.5.5子矩阵的提取 35 

2.5.6等间距行向量的生成  36 

2.6数据文件的读取与存储  36 

2.6.1数据文件的读取与存储命令· 36 

2.6.2文件读写的底层方法  37 

2.6.3 Excel文件的读取与存储 · 38本章习题  39

第 3章基本数学运算 · 42 

3.1矩阵的代数运算 · 42 

3.1.1矩阵的转置、翻转与旋转 · 42 

3.1.2矩阵的加减乘除运算  44 

3.1.3复数矩阵及其变换  45 

3.1.4矩阵的乘方与开方  45 

3.1.5矩阵的点运算 47 

3.2矩阵的逻辑运算与比较运算  47 

3.2.1矩阵的逻辑运算 47 

3.2.2矩阵的比较运算 48 3.2.3矩阵元素的查询命令  48 

3.2.4属性判定语句 49 

3.3超越函数的计算 · 49 

3.3.1指数与对数函数的计算  50 

3.3.2三角函数的计算 50 

3.3.3反三角函数的计算  52 

3.3.4矩阵的超越函数 52 

3.4符号表达式的化简与变换  54 

3.4.1多项式的运算 54 

3.4.2三角函数的变换与化简  55 

3.4.3符号表达式的化简  55 

3.4.4符号表达式的变量替换  56 

3.4.5符号运算结果的转换  56 

3.5基本数据运算 · 57 

3.5.1数据的取整与有理化运算  57 

3.5.2向量的排序、最大值与最小值 58 

3.5.3数据的均值、方差与标准差 · 59 

3.5.4质因数与质因式 60 

3.5.5排列与组合 · 61本章习题  62

第 4章 MATLAB语言的流程结构  64 

4.1循环结构 · 64 

4.1.1 for循环结构 · 64 

4.1.2 while循环结构 · 66 

4.1.3迭代方法的循环实现  67 

4.1.4循环结构的辅助语句  69 

4.1.5向量化编程实现 69 

4.2条件转移结构 · 71 

4.2.1简单的条件转移结构  71 

4.2.2条件转移结构的一般形式  72 

4.2.3分段函数的向量化表示  74 

4.3开关结构 · 75 

4.4试探结构 · 77本章习题  78 

·vi·薛定宇教授大讲堂(卷 I):MATLAB程序设计

第 5章函数编写与调试 80 

5.1 MATLAB的脚本程序 · 80 

5.2 MATLAB语言函数的基本结构  81 

5.2.1函数的基本结构 81 

5.2.2函数名的命令规则  83 

5.2.3函数编写举例 83 

5.3函数编写的技巧 · 86 

5.3.1递归调用 · 86 

5.3.2可变输入输出个数的处理  87 

5.3.3输入变元的容错处理  89 

5.3.4全局变量 · 89 

5.3.5存取 MATLAB工作空间中的变量  90 

5.3.6匿名函数与 inline函数 · 91 

5.3.7子函数与私有函数  93 

5.4 MATLAB程序的调试 · 93 

5.4.1 MATLAB程序的跟踪调试 93 

5.4.2伪代码与代码保密处理  96 

5.5 MATLAB实时编辑器 · 96 

5.5.1实时文档编辑界面  97 

5.5.2建立一个简单的文档  97 

5.5.3嵌入代码的运行 98 

5.5.4在实时编辑器中嵌入其他对象· 99 

5.5.5实时编辑文档的输出  101本章习题  101

第 6章二维图形绘制 · 105 

6.1二维曲线的绘制 · 105 

6.1.1二元数据的曲线绘制  105 

6.1.2数学函数的曲线绘制  108 

6.1.3分段函数的曲线绘制  108 

6.1.4二维图形的标题处理  109 

6.1.5多纵轴曲线的绘制  111 

6.2图形修饰 · 112 

6.2.1利用界面工具的修饰  113 

6.2.2 LATEX支持的修饰命令 · 115 

6.2.3数学公式叠印与宏包设计  116 6.3其他二维图形绘制语句  117 

6.3.1极坐标曲线的绘制  117 

6.3.2离散信号的图形表示  118 

6.3.3直方图与饼图 120 

6.3.4填充图 · 122 

6.3.5对数坐标图 · 123 

6.3.6误差限图 · 124 

6.3.7动态轨迹显示 124 

6.3.8二维动画的显示 124 

6.4图形窗口的分割 · 125 

6.4.1规范分割 · 125 

6.4.2任意分割 · 126 

6.5隐函数绘制及应用 128 

6.6图像的显示与简单处理  130 

6.6.1图像的输入 · 130 

6.6.2图像的编辑与显示  131 

6.6.3颜色空间转换 132 

6.6.4边缘检测 · 132 

6.6.5直方图均衡化 133 

6.7 MATLAB图形的输出方法 · 134 

6.7.1图形输出菜单与应用  134 

6.7.2图形输出命令 135本章习题  136

第 7章三维图形表示 · 138 

7.1三维曲线绘制 · 138 

7.1.1三维曲线绘制命令  138 

7.1.2已知数学函数的三维曲线绘制· 139 

7.1.3三维填充图 · 140 

7.1.4三维直方图与饼图  140 

7.1.5条带图 · 142 

7.2三维曲面绘制 · 144 

7.2.1网格图与表面图 144 

7.2.2表面图的阴影与光照  147 

7.2.3图像文件的三维表面图  149 

7.2.4已知函数的表面图  150 

·viii·薛定宇教授大讲堂(卷 I):MATLAB程序设计 

7.2.5散点数据的表面图绘制  151 

7.3三维图形视角设置 152 

7.3.1视角的定义 · 152 

7.3.2三视图的设置 153 

7.3.3任意视角的设置 153 

7.4其他三维绘图 · 154 

7.4.1等高线 · 154 

7.4.2矢量图 · 155 

7.4.3三元隐函数的绘图  156 

7.4.4参数方程的表面图  158 

7.4.5复变函数的三维表面图  158 

7.4.6球面与柱面 · 159 

7.4.7 Voronoi图与 Delaunay剖分 · 161 

7.5三维图形的特殊处理  163 

7.5.1三维曲面的旋转 163 

7.5.2坐标轴变换的三维曲面  164 

7.5.3三维图形的剪切 165 

7.5.4三维表面图贴面处理  166 

7.6四维图形绘制 · 167 

7.6.1切片图 · 167 

7.6.2体视化界面 · 168 

7.6.3三维动画的制作与播放  169本章习题  171

第 8章 MATLAB语言与其他语言的接口· 173 

8.1 C语言环境下提供的 MATLAB变量格式及函数概述 · 174 

8.1.1编译程序的环境设置  174 

8.1.2 Mex下的数据结构  175 

8.1.3 Mex文件的结构  176 

8.1.4 Mex文件的编写方法与步骤· 179 

8.2不同数据结构的 Mex处理  180 

8.2.1不同类型输入输出变元的处理· 181 

8.2.2字符串变量的读写  181 

8.2.3多维数组的处理 183 

8.2.4单元数组的处理 184 

8.2.5 MAT文件的读写方法 · 185 8.3 C程序中直接调用 MATLAB函数  187 

8.4 MATLAB函数的独立程序转换  191本章习题  192

第 9章面向对象程序设计基础  193 

9.1面向对象编程的基本概念  193 

9.1.1类与对象 · 193 

9.1.2类与对象数据结构  194 

9.2类的设计 · 195 

9.2.1类的设计方法 195 

9.2.2类的定义与输入 196 

9.2.3类的显示 · 197 

9.3重载函数的编写 · 198 

9.3.1加法的重载函数编写  198 

9.3.2合并同类项的化简函数  199 

9.3.3减法重载函数 200 

9.3.4乘法重载函数 200 

9.3.5乘方运算重载函数  202 

9.3.6域的赋值与提取 203 

9.4类的继承与扩展 · 203 

9.4.1扩展类的定义与显示  204 

9.4.2 ftf对象的连接重载函数  205 

9.4.3分数阶传递函数的频域分析· 207本章习题  208

第 10章 MATLAB的图形用户界面设计技术  209 

10.1 MATLAB语言图形界面编程基础 · 209 

10.1.1 MATLAB图形界面中各对象的关系· 209 

10.1.2窗口对象及属性设置  210 

10.1.3窗口的常用属性  211 

10.1.4对象属性的读取与修改· 213 

10.1.5简易对话框  215 

10.1.6标准对话框及其调用  216 

10.2 MATLAB图形界面设计基本控件 · 219 

10.2.1 MATLAB支持的基本控件  219 

10.2.2控件的常用属性  221 

10.2.3控件句柄的获取  221 

·x·薛定宇教授大讲堂(卷 I):MATLAB程序设计 

10.3图形用户界面设计工具 Guide  222 

10.4图形用户界面的高级技术 · 231 

10.4.1菜单系统的设计  231 

10.4.2工具栏设计  232 

10.4.3 ActiveX控件的嵌入与编程 234 

10.5工具箱的集成与发布 · 235本章习题  235参考文献· 237 

MATLAB函数名索引 · 239术语索引· 245 


猜您喜欢

读书导航