- ISBN:9787302607885
- 装帧:70g胶版纸
- 册数:暂无
- 重量:暂无
- 开本:其他
- 页数:272
- 出版时间:2022-07-01
- 条形码:9787302607885 ; 978-7-302-60788-5
本书特色
你是不是觉得MATLAB很神奇,迫切地想知道为什么MATLAB能实现这么强大的功能?MATLAB在计算机内存级别是怎么实现的? 你是不是经常碰到一些编程场景要求,发现身边总是有些人能写出简洁强大的代码,还和你说采用流或有限状态机更容易,迫切地想知道自己怎么才能做到? 你是不是总觉得期刊上的图形很漂亮,但自己却怎么也不能采用MATLAB编程实现? 你是不是很多书只是告诉你MATLAB有很多函数,却不知道将这些函数以一种全新方式组合起来,就可以焕发新生,而这本书也许不会详细地讲这些函数到底是什么(因为MATLAB的帮助里面都有),而它要告诉你的是,我们可以怎么组合,以及组合背后的道理。 1. 本书从编程语言的角度,如内存上的数据组织、句柄控制逻辑等对MATLAB进行阐述,揭示高效编程机理;2. 本书包含约100个实际工程案例,且案例均被提炼成不大于50行的程序,如各种图形处理方法、对不同类型工程文件的读写,这类程序可直接被工程人员使用;3. 在案例中进行多种编程方法比较,自然引出流、面向对象、函数式编程、有限状态机等编程范式,提升程序设计人员视野,以利于设计更为复杂强大的程序。 以上特色在目前市面图书尚未见到。
内容简介
MATLAB是工程领域广泛使用的计算软件,以其直观的操作、丰富的功能获得了大量工程技术人员的青睐。笔者在多年工程实践中,对两个方面进行拓展:一是从程序语言角度入手,剖析剖析MATLAB运行机制,以编写更复杂、更高效率的程序,如MATLAB内部数据怎么存储和组织、怎么控制图形句柄等;二是从工程应用角度入手,提炼工程中常用的场景,提供MATLAB参考案例。此书结合了笔者多年理论学习和工程经验,结合程序编制、图形绘制,以及IO处理深入分析了MATLAB实现机理,同时将大量工程案例凝练为50行以内的程序,供读者借鉴使用。
目录
1MATLAB是什么
2MATLAB入门
2.1性能分析函数
2.2数据类型
2.3常用操作符
2.4常用运算符
2.5常用操作符和运算符优先级
2.6变量赋值和字符显示
2.7数值矩阵
2.7.1中括号操作符
2.7.2冒号操作符
2.7.3数组切片
2.7.4矩阵生成
2.7.5几个复杂的矩阵生成命令示例
2.8字符串
2.9元胞数组
2.9.1小括号与大括号
2.9.2逗号操作符与逗号分隔表
2.9.3数值型数据结构之间的转换
2.10结构体
2.10.1()操作符
2.10.2.()操作符
2.11流程控制
2.12命令、脚本和函数
2.12.1@与匿名函数
2.12.2缺省参数
2.13变量的作用域
2.13.1全局变量
2.13.2引用父(或基)工作空间
2.13.3外部文件交换
2.13.4闭包
2.13.5自省
2.14IO操作
2.15图形显示
2.16C语言调用接口
2.17示例: 拼图游戏
3MATLAB帮助的使用
3.1MATLAB帮助的命令
3.2HELP HELP
3.3MATLAB帮助使用
3.3.1MATLAB演示
3.3.2帮助目录
3.3.3命令集
3.3.4搜寻
3.3.5帮助浏览器
3.3.6“参阅”
3.3.7TAB键
3.3.8编辑代码
3.4编写自己的帮助
4一切数据皆为数组
4.1一切数据皆为数组1
4.2数据格式查看接口
4.3一切数据皆为数组2
4.4结构体和元胞的嵌套存储
4.5写时复制机制
4.6传值机制
4.7合理使用数据结构
4.7.1矩阵按列储存
4.7.2指针
4.7.3提高程序执行效率
5向量化编程和数据流编程
5.1简单的例子
5.2完全数
5.3向量化与循环加速
5.4数据流构架和Simulink
5.5数字字谜
5.6关于优化
6函数数据类型和函数式编程
6.1函数句柄
6.2函数作为形参及高阶函数
6.3lambda表达式
6.4函数作为返回值
6.5惰性求值和流
6.6记忆函数
6.7闭包和面向对象
7面向对象编程
7.1封装
7.1.1类文件夹构造
7.1.2方法调用
7.1.3类的格式
7.1.4示例: 字典类
7.2继承
7.2.1handle类和传址机制
7.2.2dynamicprops
7.2.3hgsetget
7.3动态绑定
7.4值和句柄类
7.5事件和监听
7.6自省
7.6.1Properties/methods/events
7.6.2元类
7.6.3findobj
7.6.4set/get
8图形绘制初步
8.1曲线图绘制
8.1.1plot绘制二维曲线
8.1.2subplot平铺坐标轴
8.1.3hold锁定当前绘图
8.1.4plot3绘制三维曲线图
8.1.5figure生成新的图形窗口
8.1.6inf/nan技巧
8.1.7xlim/grid/text/title/label/legend控制
8.1.8鼠标操作编辑图形
8.2曲面图绘制
8.2.1fill平面填充
8.2.2mesh/surf规则网格曲面
8.2.3denaulay不规则网格数据显示
8.2.4view视角
8.2.5campos/camtarget/camup/camzoom相机
8.2.6light/material/alpha光照、反射和透明度
8.3图片绘制
8.4文本生成
8.5动画生成
8.5.1getframe/movie动画
8.5.2erasemode擦除方法
8.5.3refreshdata刷新数据
8.5.4示例: 生命游戏
8.6图形输出
8.7其他图形绘制
9绘制图形控制
9.1图形对象系统
9.1.1层次性结构
9.1.2图形句柄
9.2获取句柄
9.2.1Root对象句柄
9.2.2直接保存的图形句柄
9.2.3查找到的图形句柄
9.2.4默认的图形句柄
9.2.5默认绘图状态设置
9.3删除/复制句柄
9.4控制句柄属性
9.4.1句柄属性控制方法
9.4.2获取属性列表
9.5典型属性
9.5.1典型共用属性
9.5.2典型通用属性
9.5.3典型专用属性
9.6属性简单应用
9.6.1Position属性
9.6.2Fcn动作属性
9.6.3UserData属性
10高级图形绘制
10.1Axes对象
10.1.1核心绘图对象
10.1.2群组绘图对象
10.1.3注释对象
10.2DIY手册
10.3DIY作品
10.3.1示例: 曲线族统一标注
10.3.2示例: 位于原点的坐标轴
10.3.3示例: 带阴影效果的图形
10.3.4示例: 置于图片下方的图例
10.3.5示例: 用特殊线型绘图
10.3.6示例: 图像的浮雕效果
10.3.7示例: 三原色
10.3.8示例: 彩色的柱状图
10.3.9示例: 在图形中显示表格
10.3.10示例: 拼图游戏
10.3.11小结
11绘制美观的图形
11.1清晰
11.1.1点阵图形和矢量图形
11.1.2矢量图形的保存
11.1.3带渐变色的矢量图形和点阵图形的保存
11.1.4EraseMode为非normal的图形的保存
11.2字体
11.2.1常用字体
11.2.2默认字体设置
11.2.3输出字号调整
11.3颜色
11.3.1彩色和黑白
11.3.2利用透明效果
11.4空间
11.4.1图形白边
11.4.2纵横坐标标注
11.5表现形式
11.5.1更多的表现形式
11.5.2科学数据可视化几点提示
11.5.3学习美观的图形
11.5.4使用其他软件
12图形用户接口(GUI)与GUIDE
12.1GUI、事件驱动和回调函数
12.2示例: 计数器
12.2.1通用控件
12.2.2回调函数
12.2.3数据交换
12.2.4定时器
12.2.5跨窗口显示
12.3更多的控件
12.4菜单和工具栏
12.5使用键盘和鼠标
13程序动态生成GUI
13.1控件种类
13.2示例: helloworld
13.3示例: 标准对话框
13.4示例: 使用表格
13.5示例: 标签页窗口
13.6示例: 动态控件
13.7示例: 页面布局
13.8示例: 综合布局
13.9程序中嵌入界面
14JAVA数据类型和可定制界面
14.1Java及其版本
14.2创建和访问Java对象
14.2.1Java对象
14.2.2javaObject/javaObjectEDT函数
14.2.3MATLAB/Java输入输出类型转换
14.2.4访问外部库
14.2.5Java对象的属性
14.3创建Java的GUI对象
14.3.1JavaFrame属性和javacomponent封装
14.3.2GUI对象属性的访问、修改和交互
14.3.3回到计数器
14.4修改MATLAB界面
14.5示例: 用MATLAB做个截屏工具
15文件管理
15.1路径访问
15.2临时文件
15.3文件压缩
15.4文件比较
15.5示例: 所有文件名称后加上日期
15.6示例: 读文件缓存程序
16简易文件读写
16.1save/load
16.2importdata
16.3csvread/csvwrite/xlsread/xlswrite
16.4xmlread/xmlwrite
16.5示例: 将MATLAB代码复制为带彩色字体
17字符串生成
17.1文件句柄操作与字符串操作
17.2字符串是整形数组
17.3字符串拼接、比较和空格的处理
17.3.1字符串拼接([]/char/cellstr)
17.3.2字符串比较(strcmp/strfind/strrep)
17.3.3空格处理(deblank/strtrim)
17.4格式描述符与字符串生成
17.4.1int2str/num2str及格式输出
17.4.2sprintf、格式描述与数组
17.5特殊描述格式
17.5.1“%”、“\”、“'”与转义字符
17.5.2“\n”与多行文本
17.5.3“*”字符与宽度、精度描述符外置
17.5.4“$”与序列顺序描述符
17.6示例: 输出程序自身的程序
18字符串读取与正则表达式
18.1strfind/strtok(字符级别处理)
18.2sscanf/textscan(字符串级别处理)
18.3正则表达式(词法级别处理)
18.4扩展阅读: 正则表达式、有限状态机与Stateflow
18.4.1新建Simulink及其Stateflow模块
18.4.2在Stateflow中建立初步模块
18.4.3将状态组合为子模块
18.4.4通过子模块组合,形成更大模块
18.4.5完成全部Stateflow模块,并输出参数
18.4.6连接Stateflow和Simulink模型
18.4.7讨论
19正则表达式使用
19.1regexp/regexprep输出参数使用
19.2分组和捕获
19.3优先选择*左端匹配
19.4回溯
19.5匹配优先和忽略优先
19.6环视
19.6.1示例: 多数值的字符串匹配
19.6.2示例: 考虑引号的字符串分割(按空格分割)
19.6.3示例: 考虑引号的字符串分割(按逗号分割)
19.7条件匹配
19.8动态正则表达式
19.8.1${cmd}示例: 将字符串替换为字符串长度(动态执行结果用于
被替换字符串)
19.8.2(??@)示例: 匹配正确汇总了总字符数目的字符串(动态执行
结果用于匹配字符串)
19.8.3(??)示例: 正确反映了总字符数目的字符串(动态分析匹配
字符串)
19.8.4(?@)示例: 正则表达式诊断(在匹配字符串中动态执行,
但丢弃结果)
19.8.5综合示例: 通过正则表达式增加行号
20读文本文件案例
20.1示例: 带标题栏的数组(importdata)
20.2示例: 非纯数值规则文本读取(textscan)
20.3示例: 文件预处理(fileread)
20.4示例: 读取按间隔分割文件(fgetl/frewind)
20.5示例: 文件读写模板(fscanf)
21综合案例(MATLAB帮助中“参阅”的统计)
21.1“参阅”统计
21.2主程序(函数调用和绘图)
21.3文件夹访问: 获取MATLAB目录下列出的函数
21.4字符串读取: 获取函数的“参阅”内容
21.5数据结构: 将函数的引用转换为数值格式
21.6数值计算与优化: 计算“参阅”可达矩阵
21.7写文件: 将函数及其引用的关系按graphviz格式输出
参考文献
作者简介
汤波,清华大学博士毕业,毕业后长期从事运载火箭总体设计工作,在工作中大量利用MATLAB进行复杂算法编写和大量数据处理,具有丰富的程序设计和MATLAB应用经验。
-
有限与无限的游戏:一个哲学家眼中的竞技世界
¥37.4¥68.0 -
全图解零基础word excel ppt 应用教程
¥12.0¥48.0 -
机器学习
¥59.4¥108.0 -
深度学习的数学
¥43.5¥69.0 -
智能硬件项目教程:基于ARDUINO(第2版)
¥37.7¥65.0 -
硅谷之火-人与计算机的未来
¥14.3¥39.8 -
元启发式算法与背包问题研究
¥38.2¥49.0 -
AI虚拟数字人:商业模式+形象创建+视频直播+案例应用
¥62.9¥89.8 -
UNIX环境高级编程(第3版)
¥164.9¥229.0 -
剪映AI
¥52.8¥88.0 -
深度学习高手笔记 卷2:经典应用
¥90.9¥129.8 -
纹样之美:中国传统经典纹样速查手册
¥77.4¥109.0 -
UG NX 12.0数控编程
¥24.8¥45.0 -
MATLAB计算机视觉与深度学习实战(第2版)
¥90.9¥128.0 -
界面交互设计理论研究
¥30.8¥56.0 -
UN NX 12.0多轴数控编程案例教程
¥25.8¥38.0 -
微机组装与系统维护技术教程(第二版)
¥37.8¥43.0 -
明解C语言:实践篇
¥62.9¥89.8 -
Linux服务器架设实战(Linux典藏大系)
¥84.5¥119.0 -
Visual Basic 语言程序设计基础(第6版)
¥32.0¥45.0