Matlab各版本对比

时间:2024-10-26 07:41:01
  • HTS221

  • LPS22HB

  • LSM303C

  • LSM6DSL

  • LSM9DS1

  • MPU-6050

  • MPU-9250

2020b

比较工具:在 MATLAB Online 中比较文本文件

readstruct 和 writestruct 函数:在 XML 文件中读取和写入结构化数据

readlines 函数:以字符串数组形式读取文本文件中的行

HDF5 文件和基于 Web 的数据:使用现有 HDF5 函数读取和写入远程存储的 HDF5 文件

HDF5 文件:读取和写入使用 Unicode 字符编码的文件名

音频文件和基于 Web 的数据:使用 audioreadaudiowrite 和 audioinfo 读取和写入远程存储的音频文件

TCP/IP 客户端接口:新的函数和属性

TCP/IP 客户端接口有一组新的函数和属性。

您仍可以使用现有函数执行以下操作:

  • 使用 tcpclient 函数创建一个与 TCP/IP 服务器的 TCP/IP 客户端连接。

  • 使用 read 函数从远程主机读取数据。

  • 使用 write 函数将数据写入远程主机。

现在,您可以使用新函数执行以下操作:

  • 使用 echotcpip 函数启动 TCP/IP 回显服务器。

  • 使用 readline 函数从远程主机读取一行 ASCII 字符串数据。

  • 使用 writeline 函数向远程主机写入一行 ASCII 字符串数据。

  • 使用 configureTerminator 函数为与远程主机的 ASCII 字符串通信设置终止符。

  • 使用 configureCallback 函数为与远程主机的通信设置回调函数和触发条件。

  • 使用 flush 函数刷新缓冲区,以便与远程主机通信。

  • 串行端口接口:改进了性能

  • serialport 接口的性能优于 serial 接口。例如,在使用 9600 的默认波特率时,以下代码中使用 serialport 对象写入和读取数据的速度大约是使用 serial 对象写入和读取数据速度的 1.1 倍。

源代码管理:改进了设置 Git 源代码管理的工作流

现在,您可以将 nullptr 传递给 C++ 函数。

MATLAB 现在除支持 CPython 2.7、3.6 和 3.7 之外,还支持 CPython 3.8

Java 包将被删除

实时编辑器任务:以交互方式从 USB 网络摄像头捕获图像,并在实时脚本中生成 MATLAB 代码。

2020a

文件编码:默认情况下,将 MATLAB 代码文件 (.m) 和其他纯文本文件保存为 UTF-8 编码文件

switch 函数:更灵活地比较对象

copyfile 和 movefile 函数:访问基于 Web 的存储服务,如 Amazon Web Services 和 Azure Blob 存储

数据存储:使用 writeall 将数据从数据存储写入文件

文本文件和电子表格文件:使用 'WriteMode' 参数追加、覆盖或替换数据

h5create 和 h5write:将字符串数据写入 HDF5 文件

jsonencode:在 MATLAB 类中自定义编码

导入工具不再支持导入 HDF5 文件。要以编程方式导入 HDF4 或 HDF-EOS 文件,请改用 hdfread 函数。

工程 API:以编程方式获取最新 Git 修订版

MATLAB 提供接口  来封装 C++ 原生数组和 std::vector 类型。

从 R2020a 开始,MATLAB 支持 AdoptOpenJDK - Open source, prebuilt OpenJDK binaries 提供的 OpenJDK 8 (Hot Spot)。

硬件支持

MATLAB Support Package for Ryze Tello Drones:从 MATLAB 控制 Ryze Tello 无人机,并获取传感器和图像数据

增加了对 Raspberry Pi 4B 模型板的支持

在 Raspberry Pi 硬件上部署深度学习应用程序

从连接到 Arduino 硬件的 GPS 接收器读取 GPS 数据

将 BNO055 传感器与 Sensor Fusion and Tracking Toolbox 和 Navigation Toolbox 结合使用来估计方位

为 MATLAB Function 模块中的 MATLAB Arduino 函数生成支持 I2C 和 SPI 的代码

功能变化或删除 

i2cdev 和 spidev 函数将在 R2020a 中删除

警告

servo 对象的属性 Pins 将在 R2020a 中删除

警告

类 将在 R2020a 中删除

警告

MATLAB 将在 R2020a 中停止支持 Adafruit Bluefruit EZ-Link Shield and Programmer

警告

2019b

实时编辑器任务:将交互式任务添加到实时脚本中,以分析参数并自动生成代码

实时编辑器输出:对绘图进行动画处理以显示数据随时间的变化

实时编辑器代码:复制一行或多行代码。

MATLAB Drive:与他人共享文件夹和协作

RESTful 函数:支持身份验证 

RESTful Web 服务函数 webreadwebsave 和 webwrite 还支持摘要式身份验证。有关详细信息,请参阅 weboptions 'Username' 参数。

有关 RESTful 函数支持的身份验证列表,请参阅Server Authentication

兼容性注意事项 

现在,对于基本身份验证,RESTful 函数 webreadwebwrite 和 websave 更严格地遵循 Internet Engineering Task Force (IETF®) 文档 RFC 7617 的规定。因此,当 RESTful 函数与主动期望基本身份验证但不返回 401 质询响应的服务器通信时,MATLAB 可能会出错。

要更新您的代码,请参阅 How do I preemptively include a Basic Authentication header when working with "webread"/ "webwrite" /"websave" in MATLAB R2019b?

tcpclientread 和 write 函数:生成 C 和 C++ 代码

tcpclientread 和 write 函数支持使用 MATLAB Coder 生成 C 和 C++ 代码。

串行端口设备:新的函数和属性 

串行端口接口有一组新的函数和属性。现有功能仍可运行,但推荐使用新的函数名称和属性。新接口提高了性能。

通过使用 serialportlist 查看计算机上所有串行端口的列表,来开始使用新接口。

list = serialportlist
list = 

  1×4 string array

    "COM1"    "COM3"    "COM4"    "COM8"

然后,创建一个 serialport 对象,将数据写入设备,并从中读取数据。

s = serialport("COM8",115200);
write(s,1:5,"uint32")
read(s,5,"uint32");

有关详细信息,请参阅串行端口设备

兼容性注意事项 

有关更新代码以使用推荐功能的详细信息,请参阅将您的代码转换为 serialport 接口

 

不推荐使用 seriallist 函数

仍可运行

不推荐使用 serial 函数

仍可运行

 App 设计工具:将 UI 图窗或容器中的组件从基于像素的定位转换为网格布局管理器

外部语言接口

C++ 接口:发布 C++ 接口库的选项

C++ 接口:支持 nullptr 作为输出参数

C++ 接口:只读 (const) 对象支持 

Java 接口:JRE 版本 1.8.0_202 支持

C++ MEX 函数的进程外执行:自定义环境变量

HTTP Web 服务:服务器身份验证支持 NTLM 和 Kerberos 协议

HTTP Web 服务:超时选项

Python 接口:在进程外执行 Python 函数

Python 接口和引擎:已停止 3.5 版支持 

2019a

实时编辑器控件:添加复选框、编辑字段和按钮以用于设置变量值并运行实时脚本

append 函数:合并字符串

数据导入和导出

readmatrixreadvars 和 readcell 函数:以矩阵、变量或元胞数组形式读取表格数据

writematrix 和 writecell 函数:将表格数据从矩阵或元胞数组写入文本文件或电子表格文件

readtimetable 和 writetimetable 函数:读写时间表

detectImportOptions 函数:改进文本文件和电子表格文件导入选项的检测

外部语言接口

C++:在 MATLAB 中使用来自第三方库的 C++ 类

Python:支持版本 3.7 

Python 引擎:数据类型支持

C++ MEX:在进程外执行 MEX 函数

MEX 函数:使用自定义版本的 Boost 库

MATLAB 数据数组:支持行优先内存布局

支持编译 MEX 文件以及独立的 MATLAB 引擎和 MAT 文件应用程序的编译器发生变化 

2018b

实时编辑器:使用新增的子标题样式组织实时脚本​​​

实时编辑器:使用内部超链接在实时脚本中导航​​​

实时编辑器:以交互方式筛选表输出,然后将生成的代码添加到实时脚本中​​

实时编辑器:更快地新建和打开现有实时脚本​​​

实时编辑器:更改文本或代码的大小写

比较工具:合并实时脚本或函数的两个版本​​

导入工具:改进从电子表格导入时的代码生成 

stlread 和 stlwrite 函数:从 STL(立体光刻)文件中读取或向其写入三角剖分信息

在浏览器中运行 App:使用大多数现行的浏览器在 MATLAB Online 中运行 App 或作为预部署 Web App 运行

硬件支持

MATLAB Online:通过 MATLAB Online 与 Raspberry Pi 硬件板通信

在 Raspberry Pi 硬件上部署 MATLAB 函数

iOS 和 Android 传感器:当您的设备无法访问网络时,获取传感器数据

iOS 和 Android 传感器:将传感器日志从设备上传到 MATLAB Drive

Java SE 8:MATLAB 支持该版本,增强了安全性并支持访问新 Java 功能​​​

Python 接口:在 MATLAB 和 Python 之间传递多维数值或逻辑数组

C++ MEX API:使用 C++ API 从 MEX 文件内异步调用 MATLAB

2018a

可在嵌入式设备上运行

      自动将 MATLAB 算法转换为 C/C++ 和 HDL 代码, 无需重写代码或学习大数据编程就能扩展你的分析在群集、GPU 和云上运行。

实时编辑器:创建包含格式丰富的文档(包括方程和图像)的实时函数

在实时编辑器中,您可以创建接受输入并返回输出的实时函数。您可以用格式丰富的文本为实时函数编写文档,包括方程、图像和经过格式化的代码示例。然后,您可以使用 doc 命令在帮助浏览器中查看文档。有关详细信息,请参阅创建实时函数

实时编辑器:调试实时函数和脚本

实时编辑器:添加滑块和下拉列表以控制实时脚本中的变量值

实时编辑器:以交互方式对表数据排序

实时编辑器:创建目录并添加格式化代码示例​

空数组:使用 zeros 和 ones 等函数创建空复数数组 

数据导入和导出

readtable 函数:使用导入选项指定要从文本文件读取的行数

readtable 函数:使用导入选项轻松管理数据中的前缀和后缀

preview 函数:预览文件中表的前 8 行,而不导入完整表

App 设计工具:使用 MATLAB Compiler 创建预部署 Web App

硬件支持

Raspberry Pi:支持 Raspberry Pi Zero W 板

MATLAB Online:在 MATLAB Online 中从 USB 网络摄像头采集实时图像

C++ MEX 接口:从 C++ 中更轻松地访问 MATLAB 数据和对象

包:以流方式将数据传入或传出 Web 服务,并处理表单和 multipart 消息

对 Python® 3.4 版的支持已停止。

兼容性注意事项 

为确保继续支持您的应用程序,请升级到受支持的 Python 版本 - 3.5 或 3.6 版。

2017b

实时编辑器:使用参数、属性值和备选语法的自动上下文提示编写 MATLAB 命令​​​​​

实时编辑器:将实时脚本导出为 LaTeX 格式​​

实时编辑器:在 PDF 输出中显示高分辨率绘图​​​

MATLAB Drive:从任何位置存储、访问和管理您的文件

arrayfuncellfun 和 structfun 函数:返回对象数组作为输出参数

脚本:在包含局部函数的脚本中运行节

isfile 和 isfolder 函数:确定输入是文件还是文件夹

数据分析

ischange 函数:检测数据中的突然变化

islocalmin 和 islocalmax 函数:检测数据中的局部最小值和最大值

硬件支持

Arduino:使用低成本 Bluetooth 适配器以无线方式连接到 Arduino 板

Arduino 设置 UI:通过 USB、Bluetooth 或 Wi-Fi 建立与 Arduino 板的连接

Arduino 插件检测:当插入兼容的 Arduino 板时,会发现可用的 Arduino 支持和示例

高级软件开发

用于 C++ 的 MATLAB 引擎 API:从支持面向对象的编程和异步执行的 C++ 程序运行 MATLAB 代码

用于 C++ 的 MATLAB 引擎 API:使用 MATLAB 数据数组在 C++ 程序和 MATLAB 之间传递数据

Java SE 8:MATLAB 支持该版本,增强了安全性并支持访问新 Java 功能​​​

MinGW 5.3:MATLAB 支持​​​ 

Microsoft Visual Studio 2017:MATLAB 支持 Microsoft Visual Studio 2017 Community、Professional 和 Enterprise 版​ 

支持编译 MEX 文件以及独立的 MATLAB 引擎和 MAT 文件应用程序的编译器发生变化 

Python 3.6 版:MATLAB 支持

R2017a

新增功能, Bug 修复

R2016b

新增功能, Bug 修复