MWORKS 2025a 直播回顾 | 第二期:M语言计算环境重磅更新

MWORKS.Syslab首次推出时已实现基于Julia语言的科学计算环境,尽管如此,仍有大量工程师团队坚持使用M语言相关软件。除了使用习惯和学习语言等问题,更深层的原因在于大量历史代码资产复用的问题。为了解决这一关键问题,同元软控在后续版本的Syslab中持续进化,不断克服挑战。当前,Syslab已发展为一款以Julia语言为主,同时兼容M语言,支持Julia与M、Python等编程语言相互调用的新一代科学计算环境。

回顾历史,同元软控于2022年推出Syslab的首个版本,当时尚未支持M语言兼容功能,但相关技术预研已同步展开。2023年,推出M语言兼容工具,实现了M与Julia的互调用。到2024年,M语言兼容工具不断优化,已支持代码调试、搜索路径、MEX机制等功能,支持的函数数量从最初的361个扩展到1260个,并成功通过了某产业龙头企业220+个应用案例验证,实现了70万行存量M代码的复用。2025年初,正式将M语言兼容工具升级为M语言计算环境,内核性能大幅提升,M语言IDE完整支持,内置的M函数数量已达到1681个。Syslab兼容M语言的历程充满挑战与收获,在此衷心感谢各位用户、合作伙伴对同元软控的信任与支持!

第二期直播“M语言计算环境重磅更新”已于1月10日圆满结束。如果您错过这场直播也不用担心,我们整理了完整的直播回放,以及文字版更新概览,帮助您深入了解Syslab 2025a M语言计算环境的魅力所在。

直播回放

【直播回放】第二期:M语言计算环境重磅更新


文字版更新概览

在Syslab 2025a版本中,M语言计算环境从内核层、函数层、交互层进行了不同程度的升级,概览如下。

01 更完备的M语言计算环境

1.创新和管理代码节

支持插入分节符、运行节、根据分节符生成大纲

2.编辑区易用性改进

M函数转到定义、代码补全、函数悬停提示

3.M工作区变量展示优化

M工作区变量的表格视图,支撑层级展开

M工作区变量支持展示高维数组

02 兼容性不断增强

1.函数兼容

持续更新函数库,目前支持1681个M函数,打开《Syslab使用手册》,点击“多语言编程环境”下的“M语言兼容工具”即可查看当前支持的M函数

动图封面

2.语法兼容

支持classdef的类定义语法,点操作调用类函数

支持与MATLAB兼容的32位浮点数复数及整数复数

支持与MATLAB兼容的饱和运算规则,优化图像处理领域的代码兼容性

03 内核重构,性能更强

M语言兼容工具自发布以来,不少用户诟病其“for循环”执行速度慢,那么“MATLAB为什么这么快?”,因此,性能优化成为突破M语言兼容的瓶颈。经研究,MATLAB在性能优化上的主要措施有COW优化、内存优化、算法优化、JIT编译、算子融合、多线程等。通过持续的技术攻关与深入优化,本次发布的M语言计算环境在内核上进行了全面升级,性能接近MATLAB,主要优化了以下两方面:

  • 全新的对象模型

实现COW(Copy-On-Write,写入时拷贝)优化,全局精准追踪数据引用,大量减少拷贝操作。

  • 全新的M语言解释器

重构解释器,大幅降低函数调用开销。

【示例】

1.全新的对象模型

实现COW优化,全局精准追踪数据引用,大量减少拷贝操作

COW优化实现

全新的对象模型

2.全新的M语言解释器

全新重构解释器,大幅度降低函数调用开销,明显看到了25a在函数调用、变量查找、向量化运算和标量运算等方面上的性能优化。

【示例】支持复杂MATLAB工程的兼容运行

以Delta-Sigma 为例,它是通信行业较为著名的开源工具箱,支持Delta-Sigma模拟器的合成、模拟、实现和动态,能够用来计算Delta-Sigma 模拟器的NTF(噪声传输函数)和STF(信号传输函数),并进行调节。Delta-Sigma工具箱用到了基础、数学、图形、APP、控制系统、优化、信号处理的一些算法函数,共 3.4 万行代码,具有一定的工程规模和代码复杂度。

备注:Delta-Sigma 示例性能提升

Syslab/M语言计算环境发展到现在,功能基本完备,性能不断接近MATLAB 。未来,同元软控会进一步完善边缘语义,提供更多M语言函数,持续改进IDE,给用户带来无缝衔接的丝滑切换新体验!


下期预告

MWORKS 2025a发布系列第三期直播“Sysplorer 2025a演进革新”将于1月13日19:00开始。届时,我们将深入探讨Sysplorer 2025a的全新功能和技术革新,展示其在用户体验上、性能等方面的提升。诚邀大家准时观看,一起见证Sysplorer的创新演进!

内测邀请

Syslab 2025a已开启内测申请,诚邀大家试用反馈,可扫描下方二维码申请。

同元软控官网将于春节之后提供MWORKS 2025a新版本试用,期待您去体验,去发现!如果您在使用过程中遇到任何问题,或者有任何您认为可以提升产品质量的建议,欢迎您通过MoHub社区(https://mohub.net/home)发帖联系我们。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/68188.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

晨辉面试抽签和评分管理系统之八:随机编排考生的面试批次(以教师资格考试面试为例)

晨辉面试抽签和评分管理系统(下载地址:www.chenhuisoft.cn)是公务员招录面试、教师资格考试面试、企业招录面试等各类面试通用的考生编排、考生入场抽签、候考室倒计时管理、面试考官抽签、面试评分记录和成绩核算的面试全流程信息化管理软件。提供了考生…

专用小软件,完全免费,非常丝滑

今天给大家介绍一个专门将PDF数电发票合并打印的软件,这个软件可以批量操作,完全免费没有任何的广告。 电子发票专用批量打印工具 免费批量使用 软件无需安装,解压之后双击这个图标就能直接使用了。 点击右上角的加号,选中需要打…

《leetcode-runner》如何手搓一个debug调试器——架构

本文主要聚焦leetcode-runner对于debug功能的整体设计,并讲述设计原因以及存在的难点 设计引入 让我们来思考一下,一个最简单的调试器需要哪些内容 首先,它能够接受用户的输入 其次,它能够读懂用户想让调试器干嘛,…

【0x005B】HCI_Write_Default_Erroneous_Data_Reporting命令详解

目录 一、命令概述 二、命令格式及参数 2.1. HCI_Write_Default_Erroneous_Data_Reporting命令格式 2.2. Erroneous_Data_Reporting 三、生成事件及参数 3.1. HCI_Command_Complete事件 3.2. 状态码(Status) 四、命令执行流程 4.1. 命令发起阶段(主机端) 4.2. 命…

uniapp 小程序 textarea 层级穿透,聚焦光标位置错误怎么办?

前言 在开发微信小程序时,使用 textarea 组件可能会遇到一些棘手的问题。最近我在使用 uniapp 开发微信小程序时,就遇到了两个非常令人头疼的问题: 层级穿透:由于 textarea 是原生组件,任何元素都无法遮盖住它。当其…

Kotlin 快速上手指南:从安装 IntelliJ IDEA 到编写第一个程序

文章目录 什么是kotlinIntelliJ IDEA安装 IntelliJ IDEA创建 Kotlin 项目运行 Kotlin 程序更改进入后默认打开上一次项目的设置打开 IntelliJ IDEA进入设置:重新启动 IntelliJ IDEA:快速学习Kotlin变量声明类型推断条件表达式定义函数单表达式函数when 表达式when 语句的基本…

Docker 部署 Typecho

1. 官网 https://typecho.org/插件 & 主题 https://github.com/typecho-fans/plugins https://typechx.com/ https://typecho.work/2. 通过 compose 文件安装 github官网: https://github.com/typecho/Dockerfile 新建一个目录,存放 typecho 的相…

2025/1/12 复习JS

我乞求你别再虚度光阴 ▶ 空心 --------------------------------------------------------------------------------------------------------------------------------- 摘自哔哩哔哩听课笔记。 01 上篇&#xff1a;核心语法 1.基于页面效果的操作 <!DOCTYPE html>…

【初识扫盲】厚尾分布

厚尾分布&#xff08;Fat-tailed distribution&#xff09;是一种概率分布&#xff0c;其尾部比正态分布更“厚”&#xff0c;即尾部的概率密度更大&#xff0c;极端值出现的概率更高。 一、厚尾分布的特征 尾部概率大 在正态分布中&#xff0c;极端值&#xff08;如距离均值很…

机组存储系统

局部性 理论 程序执行&#xff0c;会不均匀访问主存&#xff0c;有些被频繁访问&#xff0c;有些很少被访问 时间局部性 被用到指令&#xff0c;不久可能又被用到 产生原因是大量循环操作 空间局部性 某个数据和指令被使用&#xff0c;附近数据也可能使用 主要原因是顺序存…

Transformer创新模型!Transformer+BO-SVR多变量回归预测,添加气泡图、散点密度图(Matlab)

Transformer创新模型&#xff01;TransformerBO-SVR多变量回归预测&#xff0c;添加气泡图、散点密度图&#xff08;Matlab&#xff09; 目录 Transformer创新模型&#xff01;TransformerBO-SVR多变量回归预测&#xff0c;添加气泡图、散点密度图&#xff08;Matlab&#xff0…

31_搭建Redis分片集群

Redis的主从复制模式和哨兵模式可以解决高可用、高并发读的问题。但是依然有两个问题没有解决:海量数据存储问题、高并发写的问题。由于数据量过大,单个master复制集难以承担,因此需要对多个复制集进行集群,形成水平扩展每个复制集只负责存储整个数据集的一部分,这就是Red…

ASP.NET Core - 日志记录系统(二)

ASP.NET Core - 日志记录系统&#xff08;二&#xff09; 2.4 日志提供程序2.4.1 内置日志提供程序2.4.2 源码解析 本篇接着上一篇 ASP.NET Core - 日志记录系统(一) 往下讲&#xff0c;所以目录不是从 1 开始的。 2.4 日志提供程序 2.4.1 内置日志提供程序 ASP.NET Core 包括…

nginx的可视化配置工具nginxWebUI的使用

文章目录 1、nginx简介2、nginxWebUI2.1、技术解读2.2、开源版和专业版之间的区别2.3、功能解读 3、安装与使用3.1、下载镜像3.2、查看镜像3.3、启动容器3.4、使用 4、总结 1、nginx简介 Nginx 是一个高效的 HTTP 服务器和反向代理&#xff0c;它擅长处理静态资源、负载均衡和…

【C++】IO 流

文章目录 &#x1f449;C 语言的输入与输出&#x1f448;&#x1f449;流是什么&#x1f448;&#x1f449;C IO 流&#x1f448;C 标准 IO 流C 和 C 语言的输入格式问题C 的多次输入内置类型和自定义类型的转换日期的多次输入C 文件 IO 流文本文件和二进制文件的读写 &#x1…

基于springboot的幼儿园管理系统系统

作者&#xff1a;学姐 开发技术&#xff1a;SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等 文末获取“源码数据库万字文档PPT”&#xff0c;支持远程部署调试、运行安装。 项目包含&#xff1a; 完整源码数据库功能演示视频万字文档PPT 项目编码&#xff1…

Pycharm 使用教程

一、基本配置 1. 切换Python解释器 pycharm切换解释器版本 2. pycharm虚拟环境配置 虚拟环境的目的&#xff1a;创建适用于该项目的环境&#xff0c;与系统环境隔离&#xff0c;防止污染系统环境&#xff08;包括需要的库&#xff09;虚拟环境配置存放在项目根目录下的 ven…

Java设计模式——单例模式(特性、各种实现、懒汉式、饿汉式、内部类实现、枚举方式、双重校验+锁)

文章目录 单例模式1️⃣特性&#x1f4aa;单例模式的类型与实现&#xff1a;类型懒汉式实现(线程不安全)懒汉式实现(线程安全&#xff09;双重锁校验懒汉式(线程安全)饿汉式实现(线程安全)使用类的内部类实现⭐枚举方式实现单例&#xff08;推荐&#xff09;&#x1f44d; 单例…

STM32 FreeRTOS中断管理

目录 FreeRTOS的中断管理 1、STM32中断优先级管理 2、FreeRTOS任务优先级管理 3、寄存器和内存映射寄存器 4、BASEPRI寄存器 5、FreeRTOS与STM32中断管理结合使用 vPortRaiseBASEPRI vPortSetBASEPRI 6、FromISR后缀 7、在中断服务函数中调用FreeRTOS的API函数需注意 F…