# 2024b V0.11.4 发行说明


本文介绍 Syslab 2024b V0.11.4 的最新特征。

  • 版本:Syslab 2024b

  • 内部版本号:V0.11.4

  • 发行时间:2024.08

欢迎使用 Syslab 2024b V0.11.4,这是在 2024a SP1 V0.11.2 版本基础上的一次重要更新。本次版本发布新增 5 个功能模块、1 个函数库,优化了 5 个功能模块、17 个函数库及若干个函数。

# 新增功能

# ★交互式编程环境

  • ★新增 M 工作区,支持 M 变量的集中显示与编辑

    • 支持 M 工作区数据的过滤、清空、重命名
    • 支持双击 M 工作区数据,打开变量编辑器进行显示与编辑
  • ★Syslab 代码生成功能改进

    • 支持 C++ 源码构建目标:可从 Julia 代码输出 C++ 项目,支持 Makefile 等多种构建工具
    • 支持用例驱动的代码生成:可在代码生成期间引入额外 Julia 脚本,分析代码执行路径,进而支持编译部分动态 Julia 代码
    • 优化对 Julia 标准库的代码生成支持,包括 sum、prod 等函数的动态情况
    • 优化生成代码中的变量名生成规则,避免与用户代码冲突
    • 支持 C++ 联合编译:支持 C++ 编译期间的自定义选项,导入 C++ 源码、头文件和库
  • 绘图功能改进

    • ★支持常用绘图的 Undo & Redo 功能,包括 plot、stairs、loglog、semilogx、semilogy、fplot、line 等
    • ★支持双 y 轴曲线的复制/粘贴
    • 支持二维曲线的显示/隐藏
  • 调试功能改进

    • 修复调试调用变参函数时,调试控制台显示变参未定义的问题
    • 解决代码中有@__FILE__等宏,调试会报错的问题
    • 解决单步调试异常跳过代码行的问题
    • 解决修改 module 中的内容,debug 不生效的问题
    • 修改调试过程中悬停、调试控制台、监视的变量显示方式
    • 解决在调试 for 循环代码过程中,点击退出调试,终端代码仍在执行的问题
    • 解决 Julia 调试时存在语法错误无法报错问题
  • IDE 界面改进

    • Ribbon 菜单增加单列编辑器布局
    • 支持自定义插件在 Syslab 左或右侧边栏显示
    • 对于 Python 内核的实时编辑器,支持在每个单元格下方显示绘图
    • 支持将工程文件整个下载下来(Syslab 云化版本特有)
  • PythonAPI 功能改进

    • PythonAPI 增加打开函数帮助功能
  • ★新增 DFX 功能: 主进程崩溃或闪退时自动收集日志和错误文件,确保软件在运行时能够快速、准确地诊断问题,并进行调试和修复。

    • 增加进程监控功能
    • 增加信息搜集打包功能
    • 增加 Julia 终端崩溃监控功能
    • 增加现场恢复功能
  • M 语言兼容功能改进

    • 新增 106 个常用 M 函数,达到 1461 个

# ★科学计算函数库

  • 基础工具箱

    • 基础工具箱新增 2 个函数,改进 18 个函数
    • 图形工具箱新增 9 个函数,改进 53 个函数
    • 基础数学工具箱新增 8 个函数,改进 18 个函数
    • 图像工具箱改进 5 个函数
    • 地理图工具箱改进 1 个函数
  • 数学、统计和优化

    • 符号数学工具箱新增 1 个函数,改进 2 个函数
    • 统计工具箱改进 46 个函数
    • 曲线拟合工具箱改进 2 个函数
    • 优化工具箱改进 6 个函数
  • 信号处理和无线通信

    • 信号处理工具箱新增 20 个函数,改进 51 个函数
    • DSP系统工具箱新增 5 个函数,改进 3 个函数
    • 小波工具箱改进 1 个函数
    • 通信工具箱新增 19 个函数,改进 36 个函数
    • 相控阵工具箱新增 9 个函数
  • 控制系统

    • 控制系统工具箱新增 2 个函数,改进 37 个函数
    • 鲁棒控制工具箱新增 17 个函数,改进 1 个函数
    • 系统辨识工具箱新增 7 个函数,改进 12 个函数
  • ★图像处理和计算机视觉(新增)

    • 全新发布图像处理工具箱,提供 108 个函数

# 科学计算APP

  • ★曲线拟合 APP(新增) 提供了一个交互界面,用户可以在其中对数据进行曲线和曲面拟合并查看绘图。使用曲线拟合 APP,用户能够:

    • 构造、绘制、比较拟合
    • 使用线性或非线性回归、插值、平滑以及自定义方程
    • 查看拟合结果统计优度,展示信赖区间与残差,移除极端值,使用验证数据评估拟合
    • 将拟合导出到工作区以待深入研究

# 删除或变更功能⚠️

# 系统辨识工具箱

系统辨识工具箱引入 2 个破坏性更新。

函数名 函数说明 更改说明
residuals 模型残差计算 重命名为 resid 函数,resid 完全覆盖 residuals 函数。
resid:计算辨识模型残差的同时计算相关性,包括残差的自相关以及残差与辨识数据的互相关,具备画图功能,支持几乎所有辨识模型。
simulate 模型响应计算 重命名为 sim 函数,sim 完全覆盖 simulate 函数。
sim:使用辨识数据模拟辨识模型的响应,控制库 lsim 的扩展,返回辨识模型时域输出响应的同时还返回输出响应的估计标准偏差、状态估计轨迹及其估计标准偏差,此外,sim 具备绘图功能,sim 支持几乎所有辨识模型。

# 机器学习工具箱

机器学习工具箱引入 2 个破坏性更新。

函数名 函数说明 更改说明
evfit 极值参数估计 移除参数 c,增加关键字参数 alpha、censoring、freq
kmeans k 均值聚类 移除输出 kcluster,增加输出 idx、center

# Julia三方函数库安装方式变更

  1. 显示安装变更隐式安装只影响是否能够直接加载该库。以 AbstractAlgebra 库为例,using AbstractAlgebra 会报错提示该库未安装,但是加载依赖该库的符号数学库(using TySymbolicmath),可以正常使用。
  2. 显示安装变更为移除安装,using 该库会报错。以 Formatting.jl 为例,using Formatting 会报错提示该库未安装。
Julia三方函数库 安装方式 变更说明
AbstractAlgebra 显示安装=>隐式安装 符号数学库依赖
Colors 显示安装=>隐式安装 图像库间接依赖
Combinatorics 显示安装=>隐式安装 插值库依赖
DynamicPolynomials 显示安装=>隐式安装 符号数学库依赖
HypergeometricFunctions 显示安装=>隐式安装 符号数学库依赖
Primes 显示安装=>隐式安装 符号数学库依赖
QuadGK 显示安装=>隐式安装 数学库依赖
TaylorSeries 显示安装=>隐式安装 符号数学库依赖
Formatting 显示安装=>移除安装 该库已废弃,使用 Format.jl 代替
MLJBase 显示安装=>移除安装 机器学习库早期依赖,新版已移除
PkgTemplates 显示安装=>移除安装 包管理器早期依赖,新版已移除
SignalAnalysis 显示安装=>移除安装 信号处理库早期依赖,新版已移除
SymbolicNumericIntegration 显示安装=>移除安装 符号数学库早期依赖,新版已移除