MATLAB 新增功能

新版本带来一系列新工具,帮助您预处理和分析数据、编写脚本和算法、构建 App、携手团队开发软件。

与此同时,MATLAB 的运行速度再获提升。以下是详细介绍。

实时编辑器

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

全新 实时编辑器控件:通过将变量关联到下拉项和滑块值,在实时脚本中创建动态控件 (R2021a)

全新 实时编辑器字体:使用设置以编程方式更改字体的名称、样式、大小和颜色 (R2021a)

全新 实时编辑器书签:在行间快速导航 (R2021a)

全新 实时编辑器动画播放控件:用于控制动画的交互式界面 (R2021a)

基于 iOS 的实时编辑器:在 iPhone 和 iPad 上,使用 MATLAB Mobile 创建、编辑和运行实时脚本 (R2020b)

实时编辑器:使用实时脚本超链接以打开另一个实时脚本 (R2020b)

导出为标准格式:将实时脚本和函数单独和批量保存为 PDF、Microsoft Word、HTML 和 LaTeX(R2019a、R2020b)

实时任务:使用实时编辑器任务探查参数、查看结果并自动生成代码(R2019b、R2020a)

隐藏代码:在共享和导出实时脚本时隐藏代码 (R2019a)

App 构建

App 设计工具 帮助您创建专业的 App,同时并不要求软件开发专业背景。

全新 uihyperlink 函数:在 App 和 App 设计工具画布上添加和配置可点击的链接 (R2021a)

全新 uitree 函数:在 App 和 App 设计工具画布上添加和配置复选框树 (R2021a)

全新 scroll 函数:以编程方式滚动到表 UI 组件中的某个位置 (R2021a)

全新 App 设计工具:在设计视图画布中缩放和平移;在代码视图编辑器中缩放、自定义分割屏幕布局以及控制颜色和选项卡设置 (R2021a)

Icon 属性:为 UI 图窗窗口和工具栏的按钮和切换工具指定自定义图标 (R2020b)

比较工具:比较与合并使用 App 设计工具创建的 App (R2020b)

自定义 UI 组件:创建自己的类,以制作包含算法以及图形和 UI 对象的复合 UI 组件 (R2020b)

exportappgetframe 函数:采集并保存 App 的图像 (R2020b)

uicontextmenu 函数:在 App 设计工具创建的 App 和基于 uifigure 的 App 中添加和配置上下文菜单 (R2020a)

uitoolbar 函数:在 App 设计工具创建的 App 和基于 uifigure 的 App 中添加自定义工具栏(R2020a、R2020b)

uihtml 函数:为 App 添加 HTML、JavaScript 或 CSS 内容 (R2019b)

数据导入和分析

访问、组织、清理和分析来自多个数据源的数据。

全新 XML 文件 I/O:在表、时间表和结构体中直接读写 XML 文件;使用用于 XML 处理的 MATLAB API 创建、转换和查询 XML 文件(R2020b、R2021a)

全新 远程数据 I/O:支持使用低级文件 IO 以及通过 readtablewritetablesaveload 和其他高级函数读取和写入远程存储的文件(R2019b、R2020b、R2021a)

全新 ts2timetable 函数:将时序对象转换为时间表 (R2021a)

优化实时编辑器任务:以交互方式创建和求解优化问题 (R2020b)

实时编辑器任务:通过任务以交互方式预处理数据 (R2019b)、操作表和时间表 (R2020a),并自动生成 MATLAB 代码

分组工作流程:使用 grouptransform (R2018b)、groupcounts (R2019a) 和 groupfilter (R2019b) 执行基于组的操作

数据类型 I/O:使用专用函数读取和写入矩阵、元胞数组、结构体和时间表 (R2019a、R2020b)

Parquet 文件支持:读取和写入单个 Parquet 文件或大型 Parquet 文件集合 (R2019a)

数据可视化

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

全新 “创建绘图”实时编辑器任务:无需编写代码,直接将绘图添加到实时脚本中 (R2021a)

全新 bubblecloud 函数:可视化部分与整体的关系 (R2021a)

bubblechartbubblechart3polarbubblechart 函数:使用二维坐标、三维坐标和极坐标创建气泡图 (R2020b)

swarmchart 函数:可视化离散数据的分布 (R2020b)

标题、副标题和轴标签:向绘图添加副标题,并将标题和轴标签与绘图框对齐 (R2020b)

boxchart 函数:创建箱线图以可视化分组的数值数据 (R2020a)

exportgraphicscopygraphics 函数:保存和复制图形,增强了对发布工作流的支持 (R2020a)

tiledlayout 函数:定位、嵌套和更改布局的网格大小 (R2020a)

Chart Container 类:创建以分块布局显示笛卡尔坐标图、极坐标图或地理图的图 (R2020a)

大数据

轻松扩展大数据分析,无需大动干戈。

全新 数据存储:使用并行处理从数据存储中读取所有数据 (R2021a)

ArrayDatastore 对象:从内存中的数据创建数据存储 (R2020b)

数据存储写入:将数据存储中的大型数据集合写出到磁盘,用于数据工程和基于文件的工作流 (R2020a)

自定义 Tall 数组:编写自定义算法,基于块或滑动窗口对 tall 数组进行运算(R2018b、R2019a)

支持 Tall 数组的函数:在更多函数中支持 tall 数组,包括 innerjoinouterjoinxcorrsvdwordcloud(R2018b、R2019a、R2019b)

自定义数据存储:使用自定义数据存储框架读取基于 Hadoop 的数据库 (R2019a)

FileDatastore 对象:通过将大型自定义格式文件分为较小的部分导入来读取该文件 (R2019a)

数据存储:组合和转换数据存储 (R2019a)

语言和编程

使用新的数据类型和语言构造,编写运行更快、结构更清晰且更易于维护的代码。 

全新 “名称=值”语法:使用“名称=值”语法传递名称-值参数 (R2021a)

全新 类图查看器:创建图形化的类图来探查类详细信息和共享设计 (R2021a)

pattern 对象:创建用于在字符串中搜索文本的模式 (R2020b)

文件编码:默认采用 UTF-8 编码,增强了 MATLAB 文件对非 ASCII 字符集的支持及其跨平台兼容性 (R2020a)

函数输入参数验证:声明函数输入参数,以简化输入错误检查(R2019b、R2020b)

性能

短短六年间,MATLAB 的代码运行速度提升了一倍有余。无需对代码进行任何更改,即可实现提速。

全新 稀疏矩阵乘法:提高了大型稀疏矩阵乘法的性能 (R2021a)

全新 稀疏线性方程组:提高了求解稀疏线性方程组 A*X = B(B 为多列)的性能 (R2021a)

spdiags 函数:增强了构造稀疏带状矩阵的性能 (R2020b)

uitree 函数:增强了在树中创建大量节点时的性能 (R2020b)

uilistbox 函数:增强了在列表框中设置多个项目时的性能 (R2020b)

探查器:使用火焰图直观地研究和改进代码的执行性能 (R2020a)

实时编辑器:增强了循环和动画绘图的性能 (R2020a)

软件开发

软件开发工具可帮助您管理和测试代码、集成其他软件系统,以及将应用程序部署到云。

全新 工程:列出所有引用工程和受影响的工程文件 (R2021a)

全新 C++ 接口:支持 C++ 语言功能,包括 std::vector 值和 void* 值 (R2021a)

Python:从 MATLAB 会话启动和停止 Python 解释器 (R2020b)

代码兼容性报告:代码兼容性报告对不受支持的功能发出警告 (R2020b)

单元测试框架:在集群和云上并行运行测试 (R2020b)

进程外执行 Python:在进程外执行 Python 函数,以避免库冲突 (R2019b)

工程:组织工作,实现任务和流程自动化,与团队开展协作 (R2019a)

C++ 接口:从 MATLAB 调用 C++ 库函数 (R2019a)

适用于 MATLAB 的 Jenkins 插件:运行 MATLAB 测试,生成 JUnit、TAP 等格式的测试报告和 Cobertura 代码覆盖率报告

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

控制硬件

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

全新 Arduino:使用 Nano 33 BLE Sense 板 (R2021a)

全新 传感器支持:基于 Raspberry Pi 统一服务器使用 LSM 和 MPU 传感器 (R2021a)

全新 Raspberry Pi:使用统一服务器进行部署 (R2021a)

全新 Arduino:Arduino Engineering Kit 示例已纳入 Arduino 支持包 (R2021a)

Raspberry Pi:使用 MATLAB Online 将 MATLAB 函数部署到硬件 (R2020b)

“获取网络摄像头图像”实时编辑器任务:交互式采集网络摄像头图像 (R2020b)

传感器支持:使用 BNO055 Sensor 结合 Sensor Fusion and Tracking Toolbox 和 Navigation Toolbox 估计方向 (R2020b)

Arduino:使用 IDE 版本 1.8.13 (R2021a)

使用网络摄像头实时任务追踪实时事件