MATLAB计算机视觉经典应用
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.2 MATLAB R2020a的新功能

MATLAB R2020a是针对专业的研究人员打造的一款实用的数学运算软件,仅适用于64位操作系统。该软件提供了丰富的数学符号和公式,并且与主流的编程软件兼容,以下是其具体的新功能介绍。

1. 共享工作

使用MATLAB实时编辑器,可以在可执行记事本中创建组合了代码、输出和格式化文本的MATLAB脚本与函数。

• 新增实时任务:使用实时编辑器(Live Editor)浏览各参数、查看结果并自动生成代码。

• 新增在实时编辑器中运行测试:直接通过实时编辑器工具条运行测试。

• 新增隐藏代码:在共享和导出实时脚本时隐藏代码。

• 新增保存到Word:将实时脚本和函数另存为Microsoft Word文档。

• 新增动画:支持在绘图中使用动画,显示一段时间内的数据变化。

• 新增交互式表格:以交互方式筛选表格输出,并将生成的代码添加到实时脚本中。

2. App构建

App设计工具可以使用户无须成为专业的软件开发人员,即可创建专业的App。

• 新增uicontextmenu函数:在App设计工具和基于uifigure的应用程序中添加和配置上下文菜单。

• 新增uitoolbar函数:向基于uifigure的应用程序中添加自定义工具栏。

• 新增App测试框架:自动执行其他按键交互,如右击和双击。

• 新增uihtml函数:将HTML、JavaScript或CSS内容添加到应用程序中。

• 新增uitable和uistyle函数:以互动方式对表格进行排序,并为表格UI组件中的行、列或单元格创建样式。

3. 数据导入和分析

从多个数据源访问、组织、清洗和分析数据。

• 新增实时编辑器任务:使用可自动生成MATLAB代码的任务对数据进行交互式预处理并操作表格和时间表。

• 新增分组工作流程:使用grouptransform、groupcounts及groupfilter执行分组操作。

• 新增数据类型I/O:使用专用函数读取和写入矩阵、元胞数组、时间表。

• 新增Parquet文件支持:读取和写入单个或大量Parquet文件集。

4. 数据可视化

使用新绘图函数和自定义功能对数据进行可视化处理。

• 新增boxchart函数:创建盒须图以可视化分组的数值数据。

• 新增exportgraphics和copygraphcis函数:保存和复制图形,增强了对发布工作流的支持。

• 新增tiledlayout函数:定位、嵌套和更改布局的网格大小。

• 新增图表容器类:制作图表以显示笛卡儿坐标、极坐标或地理图的平铺。

• 新增内置坐标轴交互:通过默认情况下启用的平移、缩放、数据提示和三维旋转功能来浏览数据。

5. 大数据

无须做出重大改动,拓展对大数据的分析。

• 新增数据存储写出:将数据存储中的大型数据集写出到磁盘中,用于数据工程和基于文件的工作流。

• 新增自定义Tall数组:编写自定义算法以在Tall数组上对块或滑动窗口进行运算。

• 新增支持Tall数组的函数:有更多函数支持对Tall数组进行运算,包括innerjoin、outerjoin、xcorr、svd及wordcloud。

• 新增自定义数据存储框架:使用自定义数据存储框架,从基于Hadoop的数据库中读取数据。

• 新增FileDatastore对象:通过将文件以小块形式导入来读取大型自定义文件。

• 新增数据存储方式:组合和变换数据存储。

6. 语言和编程

使用新的数据类型和语言构造编写更清晰、更精简的可维护代码。

• 新增文件编码:增强了对非ASCII码字符集的支持,以及与MATLAB文件的默认UTF-8编码的跨平台兼容性。

• 新增函数输入参数验证:声明函数输入参数,以简化输入错误检查。

• 新增十六进制数和二进制数:使用十六进制和二进制形式指定数字。

• 新增String数组支持:在Simulink和Stateflow中使用String数组。

• 新增枚举:通过枚举提高了集合运算的性能。

7. 性能

MATLAB运行代码的速度几乎是四年前的两倍,而且不需要对代码做出任何更改。

• 新增探查器:使用火焰图直观地研究和改进代码的执行性能。

• 新增实时编辑器:提高了循环绘图和动画绘图的性能。

• 新增大型数组中的赋值:当通过下标索引对大型table、datetime、duration或calendarDuration数组中的元素赋值时,性能得到改善。

• 新增uitable:当数据类型为数值、逻辑值或字符向量元胞数组时,性能得到提升。

• 新增对大型矩阵进行排序:使用sortrows,可以更快地对大型矩阵数据进行排序。

• 新增启动:已提高MATLAB启动速度。

• 新增整体性能:已提升实时编辑器、App Designer及内置函数调用性能。

8. 软件开发

软件开发工具可帮助我们管理和测试代码,它与其他软件系统集成并应用部署在云中。

• 新增在进程外执行Python:在进程外执行Python函数,以避免出现库冲突现象。

• 新增项目:组织工作、自动执行任务和流程、与团队协作。

• 新增C++接口:从MATLAB调用C++库。

• 新增适用于MATLAB的Jenkins插件:运行MATLAB测试并生成JUnit、TAP及Cobertura等格式的测试报告。

• 新增参考架构:在Amazon Web Services(AWS)和Microsoft Azure上部署并运行MATLAB。

• 新增代码兼容性报告:从当前文件夹浏览器生成兼容性报告。

9. 控制硬件

MATLAB控制Arduino和Raspberry Pi等常见微控制器,通过网络摄像头采集图像,还可以通过无人机获取传感器数据和图像数据。

• 新增无人机支持:使用MATLAB,通过Ryze Tello无人机控制并获取传感器数据和图像数据。

• 新增Parrot无人机:使用MATLAB控制Parrot无人机并获取传感器数据和图像数据。

• 新增Arduino:使用MCP2515 CAN总线拓展板访问CAN总线数据。

• 新增Raspberry Pi支持:通过MATLAB与Raspberry Pi 4B硬件通信,并将MATLAB函数作为独立可执行程序部署在Raspberry Pi上。

• 新增MATLAB Online中的Raspberry Pi:通过MATLAB Online与Raspberry Pi硬件板通信。

• 新增低功耗蓝牙:读/写BLE设备。

• 新增支持的硬件:Arduino、Raspberry Pi、USB网络摄像头和ThingSpeak IoT。