首页 > 图书 > 机械工业出版社

[!--oldtitle--]

MATLAB程序设计导论

  • 作者:[美]尤金尼·E米哈伊洛夫(Eugeniy E. Mikhailov)
  • 翻译:于俊伟 刘楠
  • ISBN:2018040202

    库存:5

图书详情

  • 出版发行:机械工业出版社
  • 责任编辑:赵亮宇
  • 定  价:69元
  • 印  刷:北京市荣盛彩色印刷有限公司
  • 开  本:185mm×260mm 1/16
  • 书  号:ISBN 978-7-111-62598-8

图书简介

MATLAB是一种以矩阵和数组运算为基础的高级编程语言,为用户提供了简洁、高效的计算环境,深受广大科学家和工程师的信赖。MATLAB简单易用、功能强大,针对多种科学和工程应用提供了经过专业开发和严格测试的工具箱,比如信号处理、统计分析、控制系统、最优化等工具箱。 译者多年以前就开始从事MATLAB学习、应用和教学,具体研究涉及车辆系统仿真、计算机视觉和深度学习等领域。正是由于对MATLAB编程和系统仿真的熟悉,使我们怀疑是否有必要将这本入门级的图书介绍给大家。直到了解到本书资料来源及作者简洁的写作风格,我们就迫不及待地想将它介绍给中国读者了。本书是根据美国威廉与玛丽学院(College of William & Mary) “科学家的实用计算”课程材料编写的,授课对象包括计算机科学、物理学、应用数学、化学等专业的大学生。本书内容涉及广泛,示例简洁生动,既适合没有系统编程知识的初学者学习,也适合有一定科学研究和工程技术基础的人员阅读,还可以作为高等院校本科生的学习教材。 本书分三个层次组织内容:计算基础、使用MATLAB求解日常生活问题、深入研究并扩展科学家的工具箱。第一部分除了介绍MATLAB的基础知识,还包含对计算历史和编程语言以及良好的编程实践的简要介绍。这部分内容凝聚了大学中常开设的“计算机基础”和“计算机科学导论”等课程的精华。第二部分主要涉及线性代数方程求解、数值求导、求根算法等内容,利用高等数学和线性代数等课程的基本知识,简单、快速地解决日常生活中的常见问题。最后一部分是关于MATLAB的深入研究和扩展,介绍了随机过程、蒙特卡罗仿真、优化问题和离散傅里叶变换等内容,当你深入到实际科学研究和工程项目中时会用到这方面的内容。 本书没有详细介绍MATLAB命令和工具箱,而是针对科学计算问题进行相关概念介绍,然后结合完整、简洁的代码进行讲解。本书不是教你成为优秀的计算机专家,而是利用应知应会的数学和物理知识快速解决科学研究和工程技术中的实际问题。在从事科学研究和工程技术相关工作时,导师或项目负责人往往比较看中你的“数学素养”,系统地阅读本书可以有效帮助你提高这方面的水平。千里之行,始于足下。当你掌握本书内容之后,再去尝试使用MATLAB的专业工具箱,甚至研究当前热门的人工智能和深度学习等内容,就会更得心应手了。

章节目录

目录

Programming with MATLAB for Scientists:A Beginner’s Introduction

 

出版者的话

译者序

前言

第一部分计算基础

第1章计算机与编程语言简介2

11早期计算史2

12现代计算机3

13什么是编程3

14编程语言概述4

15计算机中的数字表示及其潜在问题5

151离散化——计算机的主要弱点5

152二进制表示6

153浮点数表示6

154结论7

16自学7

第2章MATLAB基础9

21MATLAB的图形用户界面9

22功能强大的MATLAB计算器11

221MATLAB的变量类型11

222内置函数和运算符12

223运算符的优先级13

224注释14

23高效编辑14

24使用帮助文档15

25矩阵16

251创建和访问矩阵元素16

252基本矩阵运算17

253字符串矩阵20

26冒号运算符20

27绘图21

28自学23

第3章布尔代数、条件语句和循环24

31布尔代数24

311MATLAB中布尔运算符的优先级25

312MATLAB布尔逻辑运算举例25

32比较运算符26

321向量比较26

322矩阵比较27

33条件语句27

331if-else-end语句27

332if语句的简短形式28

34等于语句的常见错误28

35循环28

351while循环28

352特殊命令——break和continue29

353for循环30

36自学31

第4章函数、脚本和良好的编程实践32

41动机引例32

411银行利率问题32

412飞行时间问题32

42脚本33

43函数35

44良好的编程实践37

441简化代码37

442试着预见非预期行为37

443运行测试用例38

444检查并清理输入参数39

445判断解是否符合实际40

446良好的编程实践总结40

45递归函数和匿名函数40

451递归函数40

452匿名函数41

46自学42

第二部分使用MATLAB求解日常问题

第5章线性代数方程组求解46

51风铃问题46

52MATLAB内置求解器48

521逆矩阵法48

522无逆矩阵计算的方法48

523选用哪种方法48

53用MATLAB求解风铃问题49

54示例:惠斯通电桥问题50

55自学52

第6章数据约简与拟合53

61数据约简与拟合的必要性53

62拟合的正式定义53

63数据拟合示例54

64参数不确定性估计56

65拟合结果评估56

66如何得到最优拟合58

661数据绘图60

662选择拟合模型60

663拟合参数的初始猜测61

664基于初始猜测的数据和模型绘制61

665拟合数据62

666拟合参数的不确定性评估63

67自学65

第7章数值导数67

71通过前向差分估计导数67

72数值导数的算法误差估计68

73通过中心差分估计导数69

74自学70

第8章求根算法71

81求根问题71

82试错法71

83二分法72

831二分法示例和测试用例74

832二分法代码的可能改进76

84算法收敛76

85试位法77

86割线法78

87牛顿拉弗森法79

871使用牛顿拉弗森法进行解析求导80

872使用牛顿拉弗森法进行数值求导81

88Ridders法81

89求根算法的陷阱82

810求根算法总结83

811MATLAB内置求根命令84

812自学84

第9章数值积分方法86

91积分问题描述86

92矩形法86

93梯形法89

94辛普森法90

95广义积分公式90

96蒙特卡罗积分91

961示例:计算池塘面积91

962朴素蒙特卡罗积分91

963蒙特卡罗积分推导91

964蒙特卡罗方法的算法误差92

97多维积分92

98蒙特卡罗多维积分94

99数值积分陷阱94

991使用大量的数据点94

992使用过少的数据点95

910MATLAB的积分函数95

911自学96

第10章数据插值98

101最近邻插值98

102线性插值99

103多项式插值101

104好的插值程序的准则102

105三次样条插值102

106MATLAB内置的插值方法104

107外推法104

108插值的非常规应用104

109自学105

第三部分深入研究并扩展科学家的工具箱

第11章随机数生成器和随机过程108

111统计和概率简介108

1111离散事件的概率108

1112概率密度函数108

112均匀随机分布109

113随机数生成器和计算机110

1131线性同余生成器110

1132随机数生成器周期111

114如何检验随机数生成器111

115MATLAB的内置随机数生成器113

116自学114

第12章蒙特卡罗仿真115

121钉板实验115

122抛硬币游戏117

123传染病传播118

124自学123

第13章优化问题125

131优化问题简介125

132一维优化126

1321黄金分割最优搜索算法126

1322一维最优MATLAB内置函数128

1323一维优化示例128

133多维优化130

134组合优化135

1341背包问题135

1342旅行商问题138

135模拟退火算法143

136遗传算法150

137自学151

第14章常微分方程153

141常微分方程简介153

142边界条件154

143求解常微分方程的数值方法155

1431欧拉方法155

1432二阶RungeKutta方法(RK2)156

1433四阶RungeKutta法(RK4)157

1434其他数值求解器157

144刚性常微分方程及数值解的稳定性问题157

145MATLAB的内置常微分方程求解器159

146常微分方程示例159

1461自由落体159

1462空气阻力运动161

147自学166

第15章离散傅里叶变换167

151傅里叶级数167

1511示例:t的傅里叶级数169

1512示例:阶跃函数的傅里叶级数170

1513复数的傅里叶级数表示171

1514非周期函数172

152离散傅里叶变换172

153MATLAB的DFT实现及快速傅里叶变换174

154傅里叶变换的简化符号175

155DFT示例175

156自学178

第16章数字滤波器179

161奈奎斯特频率和最小采样率179

162DFT滤波器182

1621低通滤波器182

1622高通滤波器183

1623带通和带阻滤波器184

163滤波器的伪影186

164窗口效应188

165自学189

参考文献191