×
超值优惠券
¥50
100可用 有效期2天

全场图书通用(淘书团除外)

关闭
暂无评论
图文详情
  • 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应用经验。

预估到手价 ×

预估到手价是按参与促销活动、以最优惠的购买方案计算出的价格(不含优惠券部分),仅供参考,未必等同于实际到手价。

确定
快速
导航