新書推薦:
《
山西寺观艺术彩塑精编卷
》
售價:HK$
1680.0
《
积极心理学
》
售價:HK$
55.8
《
自由,不是放纵
》
售價:HK$
54.9
《
甲骨文丛书·消逝的光明:欧洲国际史,1919—1933年(套装全2册)
》
售價:HK$
277.8
《
剑桥日本戏剧史(剑桥世界戏剧史译丛)
》
售價:HK$
201.6
《
中国高等艺术院校精品教材大系:材料的时尚表达??服装创意设计
》
售價:HK$
76.2
《
美丽与哀愁:第一次世界大战个人史
》
售價:HK$
143.4
《
国家豁免法的域外借鉴与实践建议
》
售價:HK$
188.2
|
編輯推薦: |
本书内容基础,适合作为本科生学习MATLAB的教材;
全书语言简洁,内容充实,结构紧凑;
更新到第三版,兼顾了版本的更新和内容的稳定。
|
內容簡介: |
本书的主旨是让读者熟练掌握MATLAB,在解决工程应用时,具备所需要的基本编程概念和技能。本书在函数、内容与结构、练习题、函数接口等方面较前一版有改动。全书分成两大部分:*部分讲述用MATLAB进行程序设计及解决实际问题,包括MATLAB程序设计概念与组织、选择、循环、字符串操作、单元阵列及结构、高级文件输入输出及高级函数等;第二部分针对实际应用,包括用MATLAB绘图、解线性代数方程组、进行基本统计、集合、排序和索引、处理声音和图像,以及高等数学中的曲线拟合、复数计算、微积分等。
|
關於作者: |
Stormy Attaway 美国波士顿大学机械工程系教学副主任,二十多年来一直是波士顿大学工程计算课程的课程协调人,讲授过许多不同计算机语言及软件包方面的课程设计,具有丰富的教学及实践经验。撰写的教材是美国许多大学理工科学生的教学用书,深受学生欢迎。
鱼滨,男,博士,西安电子科技大学计算机学院教授,硕士生导师。早年为西北大学软件学院副院长,曾赴意大利作为访问学者一年,后被西电出国优秀博士计划引进。主要研究方向为软件工程,医学影像处理(国家自然基金项目),基于Internet的软件技术,pi演算,虚拟现实,andriod视频采集等。曾获省部级奖三项,发表论文多篇。负责国家自然科学基金项目一项2012-2015,参加国家自然科学基金重点课题和面上项目各一项,承担本科生地“软件工程”和“编译原理”课程。2001年获陕西省教学成果一等奖。
|
目錄:
|
目录
第一部分用MATLAB进行程序设计
第1章MATLAB简介
1.1初识MATLAB
1.2MATLAB桌面环境
1.3变量和赋值语句
1.3.1初始化、递增和递减
1.3.2变量名
1.3.3类型
1.4表达式
1.4.1format函数和省略号
1.4.2运算符
1.4.3内置函数和help命令
1.4.4常量
1.4.5随机数
1.5字符和编码
1.6关系表达式
探索其他有趣的特征
总结
习题
第2章向量和矩阵
2.1向量和矩阵
2.1.1创建行向量
2.1.2创建列向量
2.1.3创建矩阵变量
2.1.4维数
2.1.5空向量
2.1.6三维矩阵
2.2用作函数参数的向量和矩阵
2.3向量和矩阵上的标量运算和
数组运算
2.4矩阵乘法
2.4.1向量的矩阵乘法
2.5逻辑向量
2.5.1含有向量和矩阵的关系
表达式
2.5.2逻辑内置函数
2.6应用: diff和meshgrid函数
探索其他有趣的特征
总结
习题
第3章MATLAB程序设计概述
3.1算法
3.2MATLAB脚本
3.2.1文档
3.3输入与输出
3.3.1输入函数
3.3.2输出语句:disp和fprintf
3.4脚本的输入和输出
3.5用脚本生成和定制简单图形
3.5.1plot函数
3.5.2与plot相关的函数
3.6文件输入输出简介
3.6.1向文件中写数据
3.6.2向文件中追加数据
3.6.3从文件中读数据
3.7返回单个值的用户自定义
函数
3.7.1函数定义
3.7.2函数调用
3.7.3从脚本中调用用户自定义
函数
3.7.4传递多个参数
3.7.5函数中的局部变量
3.7.6范围介绍
3.8命令和函数
探索其他有趣的特征
总结
习题
第4章选择语句
4.1if语句
4.1.1逻辑真和逻辑假的表示
4.2ifelse语句
4.3嵌套的ifelse语句
4.3.1elseif子句
4.4switch语句
4.5menu函数
4.6MATLAB中的is函数
探索其他有趣的特征
总结
习题
第5章循环
5.1for循环
5.1.1实际应用中不使用迭代
变量的for循环
5.1.2for循环的输入
5.1.3求和与积
5.1.4预分配向量
5.1.5for循环示例: subplot
5.2for嵌套循环
5.2.1for嵌套循环和if语句的
混合使用
5.3while循环
5.3.1while循环中的多重条件
5.3.2在while循环中读文件
5.3.3while循环中的输入
5.3.4while循环中的计数
5.3.5while循环中对用户输入信息
的差错检测
5.4向量和矩阵的循环: 向量化
代码
5.4.1向量化求和与求积
5.4.2向量化与选择语句
相关的循环
5.4.3编写高效代码的技巧
5.5计时
探索其他有趣的特征
总结
习题
第6章MATLAB程序
6.1其他类型的用户自定义函数
6.1.1返回多值的函数
6.1.2完成任务无返回值的
函数
6.1.3带返回值并可打印的
函数
6.1.4向函数传递参数
6.2MATLAB程序的组织
6.2.1模块化程序
6.2.2子函数
6.3应用:菜单驱动的模块程序
6.4变量作用域
6.4.1持续变量
6.5调试技术
6.5.1错误类型
6.5.2追踪
6.5.3编辑器调试程序
6.5.4函数桩
6.5.5代码元和发布代码
探索其他有趣的特征
总结
习题
第7章字符串操作
7.1创建字符串变量
7.1.1字符串向量
7.2字符串操作
7.2.1连接
7.2.2创建自定义字符串
7.2.3删除空白字符
7.2.4变换大小写
7.2.5字符串比较
7.2.6查找、 替换和分割
字符串
7.2.7字符串求值
7.3有关字符串的 is函数
7.4字符串和数值之间的转换
探索其他有趣的特征
总结
习题
第8章数据结构:元胞数组和结构体
8.1元胞数组
8.1.1创建元胞数组
8.1.2查看和显示元胞数组
的元素和属性
8.1.3在元胞数组中存放
字符串
8.2结构体
8.2.1创建和修改结构体变量
8.2.2将结构体传递给函数
8.2.3相关结构体函数
8.2.4结构体向量
8.2.5嵌套结构体
8.2.6嵌套结构体向量
探索其他有趣的特征
总结
习题
第9章高级文件输入输出
9.1低级文件IO函数
9.1.1打开和关闭文件
9.1.2读取文件
9.1.3写入文件
9.1.4追加文件
9.2写入和读取电子表格类文件
9.3使用MAT文件变量
9.3.1将变量写入文件中
9.3.2将变量追加到MAT
文件中
9.3.3从MAT文件中读取
探索其他有趣的特征
总结
习题
第10章高级函数
10.1匿名函数
10.2函数句柄的使用
10.2.1函数的函数
10.3参数数目可变
10.3.1输入参数数目可变
10.3.2输出参数数目可变
10.4嵌套函数
10.5递归函数
探索其他有趣的特征
总结
习题
第二部分用MATLAB解决问题的进阶
第11章MATLAB作图
11.1图形函数
11.2动画
11.3三维图形
11.4定制图形
11.5句柄图形和图形属性
11.5.1图形对象和属性
11.5.2核心对象
11.6plot的应用
11.6.1从函数中绘图
11.6.2绘制文件数据
11.7保存和打印图形
探索其他有趣的特征
总结
习题
第12章基本统计、集合、排序和索引
12.1统计函数
12.1.1平均值
12.1.2方差和标准差
12.1.3众数
12.1.4中间值
12.2集合操作
12.3排序
12.3.1对结构体向量排序
12.3.2字符串排序
12.4索引
12.4.1结构体向量的索引
12.5查找
12.5.1顺序查找
12.5.2二分查找
探索其他有趣的特征
总结
习题
第13章声音和图像
13.1声音文件
13.2图像处理
13.2.1色图
13.2.2真彩色矩阵
13.2.3图像文件
13.3图形用户界面的介绍
13.3.1GUI基础
13.3.2文本框、 按钮和滚动条
13.3.3在 GUI 中画图和处理
图像
13.3.4规范化单位和按钮组
探索其他有趣的特性
总结
习题
第14章高等数学应用
14.1数据拟合曲线
14.1.1多项式
14.1.2曲线拟合
14.1.3内插值和外插值
14.2复数
14.2.1复数的判等
14.2.2复数相加减
14.2.3复数乘法
14.2.4共轭复数和绝对值
14.2.5表示为多项式的复数
方程式
14.2.6极坐标形式
14.2.7绘图
14.3矩阵求解线性代数方程组
14.3.1矩阵属性
14.3.2线性代数方程组
14.4符号数学
14.4.1符号变量和表达式
14.4.2简化函数
14.4.3显示表达式
14.4.4解方程
14.5微积分:积分和微分
14.5.1积分和梯形法则
14.5.2微分
14.5.3符号数学工具箱中的微积分
探索其他有趣的特征
总结
习题
附录1MATLAB函数
附录2MATLAB和动态仿真工具箱
|
內容試閱:
|
译 者 序
MATLAB是Matrix Laboratory的简写, 是一款由美国MathWorks公司开发的商业数学软件, 是一个集科学计算、可视化及交互式程序设计的计算环境。它将数值分析、矩阵计算、科学数据可视化及非线性动态系统的建模和仿真等诸多功能, 集成在一个易于使用的视窗环境中, 为科学研究、工程设计及需要有效数值计算的学科领域提供了方便, 在一定程度上摆脱了传统非交互式程序设计语言的编译模式, 简化了计算形式, 所以有很好的工程应用背景。
作者斯托米?阿塔韦(Stormy Attaway), 在美国波士顿大学机械工程系工作, 是该系教学副主任。二十多年来一直是波士顿大学工程计算课程的课程协调人, 她本人讲授过许多不同计算机语言及软件包方面的程序设计课程, 具有丰富的教学及实践经验。
本书是美国许多大学的理工科学生的教学用书, 深受学生欢迎。全书讲解深入浅出, 围绕实际工程应用, 通过解释MATLAB强大的函数功能, 实现用MATLAB进行编程。它使工程技术人员能够全面理解和掌握如何利用MATLAB解决工程实际问题。与传统的专业程序设计概念不同, MATLAB程序设计强调的是用贴近人们日常习惯的数学书写方式快速解决实际问题, 所以它并不像专业程序设计那样突出语法规范和参数定义规则。
国内外有不少关于MATLAB方面的书, 但有特色的较少, 斯托米?阿塔韦(Stormy Attaway)撰写的这本是比较有特色的书之一。本书主要以MATLAB函数调用为主线, 采用灵活的方式介绍程序设计概念, 并能将其用于解决实际问题, 比较适合广大非计算机专业学生作为程序设计课程的教材。书中第一部分主要讲述的就是这些内容, 包括:MATLAB简介及MATLAB程序设计、程序控制语句类的选择和循环、MATLAB程序组织形式、字符串操作、程序设计中对加工对象数据的结构组织(单元阵列及结构)、高级文件输入输出及高级函数等。当然, 本书也可以作为工程技术人员解决实际问题的参考书。书中第二部分内容涉及的主要就是实际应用, 包括用MATLAB绘图、解线性代数方程组、进行基本统计、集合、排序和索引、处理声音和图像, 以及高等数学中的曲线拟合、复数计算、微积分等。
全书章节安排合理, 内容规划有助于学生理解和记忆, 编写生动有趣, 书中随时采用一些问答题的方式讲述基本概念, 容易引起读者的注意;通过例题和练习题讲解关键知识点并加深学生的记忆;对比用编程方法和直接调用内部函数的快速方法, 加深理解MATLAB内部函数的作用;每章末尾总结通常易犯的错误, 提供程序设计风格指南以及本章中用到的MATLAB函数和命令。通过解决实际问题来讲解知识点的方式容易激发学生的学习兴趣。
对于非计算机专业的理工科大学生来说, 把MATLAB作为第一门算法语言, 绕开了冗长复杂的程序设计概念细节, 容易使学生掌握, 并能在线性代数等课程及实际中应用。所以我们认为本书的教学和使用效果比较好。
本书的翻译出版是由电子工业出版社的马岚编辑和杨博编辑组织策划的。西安电子科技大学鱼滨老师和赵元哲老师在第二版的基础上进行了翻译和校对。其中赵元哲翻译和校对了前7章, 鱼滨翻译和校对了第8章到第14章; 宋力老师参加了部分翻译工作, 研究生李孟鸽、 袁丹、 赵劼等参加了翻译和文字录入工作。原书中一些笔误的地方, 翻译时都进行了更正, 并对代码进行了验证。
希望本书的翻译出版能够为广大MATLAB的使用者提供方便, 但由于我们水平所限, 书中错误之处在所难免, 欢迎读者批评指正!
译 者2016年11月
前 言
目标
本书的目的是把MATLAB作为一种工具使用, 讲解解决基本问题所需的基本编程概念和技能。MATLAB是一款功能强大的软件, 它包含完成从数学运算到三维成像多种任务的内置函数。另外, MATLAB拥有一套完整的编程结构, 允许用户定制自己的程序规范。
介绍MATLAB的书有很多。这些书有两个基本特色:一些书除了一到两章介绍一些程序概念之外, 主要阐述MATLAB中内置函数的使用;另一些书仅仅覆盖了编程结构, 而没有涉及使MATLAB得到有效使用的许多内置函数。仅仅学习内置函数的读者能很好地使用MATLAB, 但是不能理解基本的编程概念。因而对没有学习其他入门课程或没有阅读其他关于编程概念的书的读者, 很难进一步学习C或Java等编程语言。相反, 首先只学习编程概念(使用任何语言)的读者倾向于使用高效率的控制语句来解决问题, 并没有意识到在MATLAB中, 许多情况下并不需要这样做。
本书采取一种混合式的方法, 同时介绍编程和有效用法。学生们面临的挑战是几乎不能预测他们将来是否需要知道编程概念, 或者像MATLAB这样的软件包是否能满足他们的职业需要。因而, 对入门的学生来说, 最好的方法就是同时给出编程概念和有效的内置函数。因为MATLAB非常容易使用, 应用这种混合式方法来讲授编程和解决问题是一个完美的平台。
因为编程概念在本书中是非常关键的, 所以本书的重点不是放在MATLAB的每个新版本如何节省时间的特点上。例如, 在当前的MATLAB版本中, 统计数字变量显示在工作台窗口中。在本书中没有显示任何细节, 因为这一特点是否可用取决于软件的版本, 而且本书是以解释概念为目的的。
第三版修订的内容
本书第三版的修改包括:
1. 每章结束新增了探索其他有趣特征部分, 列举了读者可能希望了解的相关语言结构、 函数和工具。
2. 扩大覆盖范围:
● 图像处理, 包括图像矩阵中不同数据类型的使用
● 绘图功能, 包括了那些使用对数尺的函数
● 图形用户界面
3. MATLAB的R2012b版本的使用。
4. 修订和新增练习问题。
5. 修订并新增了有些章末的习题, 使其更具有挑战性。
6. 一些材料的重组, 主要是:
● 将向量和矩阵单独作为一章(第2章), 包括向量和矩阵的函数和操作符, 并安排了向量化代码
● 更早给出了矩阵乘法(在第2章)
● 向量化代码放在循环章节, 为了比较数组的循环使用和向量化代码
7. 用randi代替roundrand。
8. 用truefalse代替logical1logical0。
9. 扩大了基础数学函数的覆盖范围, 包括mod、 sqrt、 nthroot、 log、 log2和log10, 以及更多的三角函数。
10. 新增附录列出了书中用到的所有函数, 以及读者或许想要了解的工具箱。
主要特点
编程概念和内置函数并行
本书最重要和独特的特点是并行地讲授MATLAB中的编程概念和内置函数的使用。本书以基本的编程概念开始, 例如变量、赋值、输入输出、选择和循环语句。本书通常先介绍一个问题然后使用编程概念和有效方法来解决。
系统方法
本书的另一个特点是采用系统的、逐步的方法将概念贯穿于全书中。在一个MATLAB教材中提前使用注释我们将在以后介绍来显示内置函数或特点是很常用的做法。本书并不这样做, 在例子中需要用到的函数在之前就已经介绍过了。另外, 对基本的编程概念将仔细和系统地解释。例如, 通过循环来计算总和、条件循环中的计数和差错检测这些非常基本的概念, 在其他书中并不会介绍, 但都包含在本书中。
文件输入输出
工程和科学中的许多应用涉及操纵大量的数据集, 这些数据集存储在外部文件中。大部分MATLAB书至少要提到save和load函数, 并且在一些例子中也会提到低层的文件输入输出函数。因为文件输入和输出对许多应用来说是非常基础的, 所以本书将覆盖几种低层的文件输入输出函数, 以及从电子表格文件中读数据和将数据写到电子表格文件中。在以后的章节中还将处理音频和图像文件。这些文件输入输出的概念将逐步介绍:首先在第3章中介绍load和save, 然后在第9章中介绍低层函数, 最后在第13章中介绍声音和图像。
用户自定义函数
用户自定义函数是一个非常重要的编程概念。许多时候, 函数类型、 函数调用与函数头等之间的细微差别, 容易被初学者混淆。因此本书将逐步介绍这些概念。首先, 在第3章中阐述计算和返回一个单精度值的最容易理解的函数类型; 然后, 无返回值的函数和返回多个值的函数在第6章中介绍; 最后, 第10章介绍高级函数的特点。
高级编程概念
除了基本的编程概念, 本书中还覆盖了一些高级编程概念, 如字符串操作、数据结构、递归、匿名函数和函数参数的变量数目。另外也会介绍排序、查找和索引。所有这些也采取了系统的方法, 例如单元数组在应用于文件输入函数和作为饼图的图例之前介绍。
解决问题的工具
除了编程概念, 解决问题的一些必要的基础数学知识也将涉及。主要包括统计函数、 求解线性代数方程组和数据拟合曲线。另外还将介绍复数和一些计算(积分和微分)的使用。阐述基础数学, 描述在MATLAB中执行这些任务的内置函数。
作图、 图像和GUI
本书首先介绍简单的二维作图(第3章), 这样作图的例子可以贯穿全书。第11章将给出更多的作图类型并阐述定制作图和在MATLAB中怎样处理图形属性, 这一章使用字符串和单元(cell)数组来定制标签。在第13章中对图像处理和理解图形用户界面(GUI)编程的基础知识进行介绍。
向量化代码
MATLAB内置操作符和函数功能的有效使用都在书中做了演示。为了强调有效使用MATLAB的重要性, 对编写向量化代码所需的概念和内置函数提前到了第2章。然后在第5章中采用一些技巧如预先分配向量和使用逻辑向量, 替代向量和矩阵中的选择语句和循环语句。同时还介绍了怎样才能使代码有效的方法。
全书布局
全书分为两部分。第一部分介绍编程结构, 并阐述编程与解决问题的内置函数的有效使用。第二部分讲述应用, 包括作图、图像处理和解决基础问题所需要的数学知识。前6章包括MATLAB中和编程中非常
|
|