许可优化
许可优化
产品
产品
解决方案
解决方案
服务支持
服务支持
关于
关于
软件库
当前位置:服务支持 >  软件文章 >  Matlab各版本对比:功能差异与版本选型指南

Matlab各版本对比:功能差异与版本选型指南

阅读数 5
点赞 0
article_banner

官方文档主页

文档主页 - MathWorks 中国

各版本对比

MathWorks - Archived MathWorks Documentation - MathWorks 中国

​​​​​​发行说明: MATLAB- MATLAB & Simulink- MathWorks 中国

基本原则还是使用最新版的,如果硬件资源有限可参考主要变化选择合适的版本 建议2020b以及以后版本


几个关键版本变化

1,支持实时 脚本 和实时函数.mlx文件

MATLAB® 实时脚本和实时函数是交互式文档,它们在一个称为实时编辑器的环境中将 MATLAB 代码与格式化文本、方程和图像组合到一起。此外,实时脚本可存储输出,并将其显示在创建它的代码旁。

什么是实时脚本或实时函数?- MATLAB & Simulink- MathWorks 中国

  • MATLAB R2016a - MATLAB 支持 R2016a 及更高版本中的实时脚本,以及 R2018a 及更高版本中的实时函数。
  • 操作系统 - 从 R2019b 开始,在 MATLAB 支持的所有操作系统中,MATLAB 都支持实时编辑器。有关详细信息,请参阅系统要求。 对于 MATLAB 版本 R2016a 至 R2019a,MATLAB 支持的操作系统中有几个不支持实时编辑器。 不支持的操作系统包括: Red Hat Enterprise Linux 6。 Red Hat Enterprise Linux 7。 SUSE Linux Enterprise Desktop 版本 13.0 及更早版本。 Debian 7.6 及更早版本。 此外,一些操作系统需要额外的配置才能在 MATLAB 版本 R2016a 到 R2019a 中运行实时编辑器。如果您无法在系统中运行实时编辑器,请联系技术支持以了解有关如何配置系统的信息。

2,串口通信新的api

2019b新的 串口  通信api

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

通过使用 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");

3,tcpip通信新的api

R2020b 优化了tcpip和串口通信

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

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

  • 使用 tcpclient 函数创建一个与 TCP/IP 服务器的 TCP/IP 客户端连接。
  • 使用 read 函数从远程主机读取数据。
  • 使用 write 函数将数据写入远程主机。


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

  • 使用 echotcpip 函数启动 TCP/IP 回显服务器。
  • 使用 readline 函数从远程主机读取一行 ASCII 字符串数据。
  • 使用 writeline 函数向远程主机写入一行 ASCII 字符串数据。
  • 使用 configureTerminator 函数为与远程主机的 ASCII 字符串通信设置终止符。
  • 使用 configureCallback 函数为与远程主机的通信设置回调函数和触发条件。
  • 使用 flush 函数刷新缓冲区,以便与远程主机通信。


通过创建一个连接到 TCP/IP 回显服务器的 tcpclient 对象、向其写入数据和从中读取数据,开始使用 TCP/IP 客户端接口。

echotcpip("on",3030)
t = tcpclient("localhost",3030)
write(t,1:5,"uint8")
read(t,5);


有关详细信息,请参阅 TCP/IP 通信

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

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

% s is a serial object
function timingTest(s,bytecount)
fwrite(s,1:bytecount,"uint8");   
fread(s,bytecount,"uint8");
end
% s is a serialport object
function timingTest(s,bytecount)   
write(s,1:bytecount,"uint8");   
read(s,bytecount,"uint8");
end

不同波特率条件下大致执行时间如下:


s.BaudRate
96001920056000115200
serial120 毫秒68 毫秒31 毫秒23 毫秒
serialport109 毫秒55 毫秒21 毫秒11 毫秒


代码是在运行 Windows 10 的 Intel(R) Xeon(R) CPU   E5-1650 v4 @ 3.60 GHz 测试系统上使用 timeit 函数进行计时的:

bytecount = 100;
timeit(@()timingTest(s,bytecount))

测试是使用串行环回连接器完成的。


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

4,对python的支持

2021b 支持python3.9

2021a 支持3.8  停止支持3.6

2020b停止支持3.5

2019a MATLAB 现在除支持 CPython 2.7、3.5 和 3.6 之外,还支持 CPython 3.7。

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


免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

相关文章
技术文档
QR Code
微信扫一扫,欢迎咨询~
customer

online

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 board-phone 155-2731-8020
close1
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

姓名不为空

姓名不为空
手机不正确

手机不正确

手机不正确
公司不为空

公司不为空

公司不为空