《MATLAB程序设计基础教程》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:刘国良,杨成慧主编;白旭灿,庄淑君,邵麦顿副主编
  • 出 版 社:西安:西安电子科技大学出版社
  • 出版年份:2012
  • ISBN:9787560628127
  • 页数:389 页
图书介绍:本书以MATLAB R2010a为基础,较全面、系统地介绍了MATLAB的基础理论和应用。本书的特点是理论充实、实例丰富、篇幅合理、图文并茂,适合于理工科院校相关类专业和需要学习MATLAB语言的本、专科和高职生。

第1章MATLAB基础 1

1.1 MATLAB概论 1

1.1.1 MATLAB概述 1

1.1.2 MATLAB用户界面 2

1.1.3 MATLAB基本用法 4

1.1.4 MATLAB工具箱 5

1.2 MATLAB的基本特性 5

1.2.1数字运算 5

1.2.2关系运算 6

1.2.3逻辑运算 7

1.2.4标量关系表达式的避绕式操作 9

1.2.5运算符的优先级 9

1.2.6关系与逻辑函数 10

1.2.7标点符号的使用 11

1.2.8常用的操作命令和快捷键 12

1.2.9简单的计算器使用法 13

1.2.10 MATLAB支持的数据结构与数据类型 14

1.3数据类型 16

1.3.1整数 16

1.3.2浮点数与精度函数 18

1.3.3数字数据类型操作函数 21

1.3.4变量和常量 22

1.3.5逻辑数据 23

1.4复数 24

1.4.1复数的创建 24

1.4.2复数运算 26

1.4.3欧拉恒等式的转换 27

思考与练习 28

第2章 向量、数组和矩阵 31

2.1向量、数组与矩阵的创建 31

2.1.1向量的创建 31

2.1.2向量的转置与操作 33

2.1.3向量的点乘、叉乘和混合积 34

2.1.4二维数组与多维数组 36

2.1.5矩阵的创建方法 37

2.2向量、数组和矩阵的寻址与赋值 38

2.2.1向量的寻址与赋值 38

2.2.2矩阵(数组)的下标索引 39

2.2.3矩阵元素的赋值 43

2.3标准矩阵与特殊矩阵 44

2.3.1标准矩阵 45

2.3.2特殊矩阵 47

2.4基本的四则运算 49

2.4.1向量、数组与数的四则运算 50

2.4.2向量、数组之间的四则运算 51

2.4.3矩阵加减运算 53

2.4.4矩阵的乘法 53

2.4.5矩阵的除法 57

2.5向量、数组和矩阵的其他运算 57

2.5.1乘方、开方运算 57

2.5.2指数、对数运算 59

2.5.3 funm()函数求估值 60

2.5.4求极小值与极大值 61

2.5.5 mean()函数求平均值 62

2.5.6求和、求累加和 63

2.5.7求积、求累加积 64

2.5.8矩阵的SVD算法 66

2.6矩阵的特征参数运算 66

2.6.1矩阵的秩与rank()函数 67

2.6.2矩阵的转置 67

2.6.3矩阵的逆与迹 68

2.6.4矩阵的特征值、特征向量与eig()函数 69

2.6.5矩阵的范围空间与null空间 70

2.6.6矩阵的行列式与det()函数 71

2.7矩阵的操作 72

2.7.1矩阵的变维 72

2.7.2矩阵的抽取 72

2.7.3 repmat()函数与矩阵的复制 73

2.7.4矩阵元素的反褶与变向 74

2.8单元数组 75

2.8.1生成单元数组 76

2.8.2单元数组的赋值 77

2.8.3单元数组的内容显示 78

2.8.4单元数组的内容获取 79

2.8.5单元数组元素的删除 80

2.8.6单元数组的变维处理 80

2.9结构体 80

2.9.1结构体的生成 81

2.9.2成员变量的操作 81

思考与练习 83

第3章MATLAB程序设计 86

3.1概述 86

3.1.1 MATLAB程序设计方法 86

3.1.2 MATLAB程序结构 86

3.2循环程序 88

3.2.1 for循环 88

3.2.2 while循环 91

3.2.3 break语句 92

3.2.4 continue语句 92

3.2.5 end语句 92

3.3分支结构 92

3.3.1条件转移结构 92

3.3.2 switch开关结构 95

3.3.3 try-catch试探结构 96

3.4人机交互语句 97

3.4.1 echo命令 97

3.4.2用户输入提示命令input 97

3.4.3等待用户反应命令pause 97

3.5程序的常见错误处理 98

3.5.1错误的产生 98

3.5.2 NaNs错误、除数为0的处理 98

3.5.3关系运算符容易出现的错误 99

思考与练习 100

第4章M脚本与M函数 103

4.1使用M文件编程 103

4.1.1 M文件的结构 103

4.1.2 M文件的建立、运行与命名规则 104

4.1.3程序的调试 105

4.1.4程序错误的检测和处理 107

4.1.5程序的分析与优化 111

4.2 M函数 112

4.2.1函数M文件 113

4.2.2函数M文件的结构、规则和属性 113

4.2.3函数变量 114

4.2.4函数的分类 115

4.2.5内联函数与匿名函数 117

4.3函数的调用与函数句柄 118

4.3.1函数参数与函数的调用 118

4.3.2函数句柄 125

4.4函数编程的实例 128

4.4.1函数编程 128

4.4.2类的建立与函数重载 129

思考与练习 133

第5章 图形绘制 135

5.1绘制二维图 135

5.1.1绘制二维线性图 135

5.1.2 stem()绘制离散图形 138

5.1.3对数图 139

5.1.4 polar()绘制极坐标图 140

5.2常用图形的绘制 141

5.2.1绘制直线、矩形、圆和椭圆 141

5.2.2绘制偏差条图形 145

5.2.3绘制直方图与其正态分布曲线 146

5.2.4填充图与面积图 148

5.3三维图形绘制 150

5.3.1 plot3()函数 151

5.3.2 mesh()和surf()函数 151

5.3.3 meshgrid()函数 153

5.3.4 meshc()和meshz()函数 153

5.3.5 sphere()函数 154

5.3.6彗星图 155

5.4绘图控制 156

5.4.1图形窗口的创建、控制与figure命令 156

5.4.2图形保持与多重线绘制 159

5.4.3子图控制与subplot()函数 160

5.4.4图形的注释和标记 161

5.4.5线型和颜色的控制 165

5.4.6坐标轴控制 166

5.5图形的高级控制 168

5.5.1 colormap()函数与颜色映像 168

5.5.2光照控制 171

5.5.3视点控制和图形的旋转 173

5.5.4使用绘图工具绘制 174

5.6特殊图形的绘制 177

5.6.1使用bar()函数绘制柱状图 177

5.6.2使用stairs()绘制阶梯图形 179

5.6.3方向和速度矢量图形 179

5.6.4等值线的绘制 182

5.6.5饼形图 183

思考与练习 185

第6章MATLAB字符串与文件操作 186

6.1字符串与字符串矩阵 186

6.1.1字符串的生成 186

6.1.2字符串矩阵 188

6.2字符串运算 190

6.2.1 abs()函数取数组的绝对值 190

6.2.2字符串逆转换与setstr()函数 190

6.2.3字符的加法运算 190

6.3字符串操作 191

6.3.1字符串寻址、编址与子字符串 191

6.3.2字符串转置 192

6.3.3字符串的连接 192

6.4字符串显示、打印与格式转换 193

6.4.1 disp()函数 193

6.4.2 fprintf()函数 194

6.4.3 sprintf()函数 196

6.5字符串转换 197

6.5.1数字转换成字符串 198

6.5.2.字符串转换成数字 199

6.5.3字符的大小写转换 199

6.6字符串的搜索与替换 200

6.6.1 strok()函数 200

6.6.2 strfind()和findstr()函数 201

6.6.3字符串的替换 202

6.7字符串的比较与判断 202

6.7.1字符串的比较 202

6.7.2字符串判断 205

6.8字符串执行与宏 205

6.8.1 eval()函数与字符串求值 205

6.8.2 feval()函数 206

6.9文件操作 207

6.9.1文件、数据的存储 207

6.9.2数据导入 208

6.9.3文件的打开 209

6.9.4文本文件的读/写 209

6.9.5低层文件I/O操作 211

6.9.6串口设备文件操作 213

思考与练习 216

第7章 数值计算与分析 218

7.1 MATLAB多项式 218

7.1.1概述 218

7.1.2多项式与根 219

7.1.3卷积运算与多项式乘法 220

7.1.4反卷积运算与多项式除法 221

7.1.5多项式加法 222

7.1.6多项式求导数 222

7.2有理多项式的运算 223

7.2.1使用residue()函数展开部分分式 223

7.2.2 residue()函数的逆运算 225

7.2.3 polyder()函数对有理多项式的求导 226

7.3多项式估值与拟合 226

7.3.1多项式拟合的估值与polyval函数 226

7.3.2曲线拟合与polyfit()函数 227

7.4数据插值 230

7.4.1一维插值与interp1()函数 230

7.4.2二维插值与interp2()函数 234

7.4.3抽样插值与interp()函数 237

7.4.4三次样条与spline()函数 238

7.5数值分析 242

7.5.1求极值 242

7.5.2求零点 245

7.5.3数值积分 246

7.5.4数值微分 249

7.5.5等差数列的求和、求累加和 250

7.5.6数列求积、求累加积 251

7.5.7 factorial()函数与阶乘 251

7.5.8取整函数 252

7.6代数方程组求解 252

7.6.1恰定方程组的解 253

7.6.2超定方程组的解 254

7.6.3欠定方程组的解 255

7.6.4普通线性方程组的求解与linsolve()函数 256

7.7微分方程的数值解 257

7.7.1微分方程的数值解法 257

7.7.2 MATLAB求解微分方程的数值解 258

思考与练习 260

第8章 符号运算 262

8.1符号对象 262

8.1.1符号运算的特点 262

8.1.2符号变量及符号变量确定原则 264

8.1.3建立符号表达式和求值 266

8.1.4符号阶跃函数与冲激函数 267

8.2数值与符号变量的相互转换 268

8.2.1符号转换为数值 268

8.2.2数值转换为符号 269

8.2.3 poly2sym()函数与多项式的符号表达式 270

8.3符号矩阵与运算 270

8.3.1符号矩阵的生成 270

8.3.2符号矩阵的索引和修改 272

8.3.3符号矩阵的四则运算 273

8.4符号表达式的化简 274

8.4.1合并多项式 274

8.4.2展开多项式 275

8.4.3转换多项式 275

8.4.4简化多项式 275

8.4.5因式分解与factor()函数 277

8.4.6分式通分 277

8.4.7符号替换 277

8.5符号微积分 279

8.5.1符号表达式求极限 279

8.5.2符号导数、微分和偏微分 280

8.5.3多元函数的导数与jacobian()函数 281

8.5.4计算不定积分、定积分 282

8.6符号级数与求和 283

8.6.1 symsum()函数与级数的求和 283

8.6.2泰勒级数与taylor()函数 283

8.6.3傅里叶级数 285

8.7符号矩阵的代数运算 285

8.7.1符号矩阵的代数运算 285

8.7.2符号矩阵的特征值、奇异值分解 287

8.8符号方程与求解 288

8.8.1创建符号方程 288

8.8.2符号代数方程求解 288

8.8.3非线性代数方程组的符号解法 291

8.8.4常微分方程的解析解 293

8.8.5复合函数方程 297

8.8.6反函数方程 298

8.9符号积分变换 298

8.9.1符号傅里叶变换 298

8.9.2符号拉普拉斯变换 300

8.9.3符号Z变换 304

8.10符号函数图形绘制 305

8.10.1符号函数二维绘图函数ezplot() 305

8.10.2符号函数三维绘图函数ezplot3 306

8.10.3符号函数曲面网格图及表面图的绘制 307

8.10.4等值线的绘制 308

思考与练习 309

第9章 句柄图形与GUI设计 311

9.1句柄图形对象 311

9.1.1图形对象属性的获取和设置 312

9.1.2图形对象句柄的访问 313

9.1.3图形对象的复制与删除 314

9.2 GUI的设计 314

9.2.1启动GUI开发环境 315

9.2.2 GUI的可选控件和模板 316

9.2.3 GUI窗口的布局与Layout编辑器 317

9.2.4 GUI控件的属性控制 318

9.3编写响应函数 321

9.3.1响应函数的定义及类型 321

9.3.2响应函数的语法、参数与关联 323

9.3.3初始化响应函数 324

9.3.4添加响应函数 326

9.3.5运行GUI 327

9.3.6创建菜单栏 328

9.3.7创建右键弹出式菜单 329

9.3.8创建工具条 330

9.4编程创建GUI 331

9.4.1定义GUI 332

9.4.2创建GUI主界面 333

9.4.3添加控件 334

9.4.4设置GUI可视 335

9.4.5初始化GUI 336

9.4.6弹出菜单的响应程序 337

9.4.7按钮的响应程序 338

9.4.8控件与Callbacks函数关联 338

9.5标准对话框 339

9.5.1输入对话框inputdlg() 339

9.5.2打开文件 340

9.5.3保存文件 342

9.5.4其他对话框 342

9.5.5 uicontrol()函数与GUI控件对象 344

9.6菜单设计 348

9.6.1标准主菜单与自定义菜单 348

9.6.2工具条菜单与uitoolbar()函数 351

思考与练习 352

部分习题参考答案 356