# 2024a SP1 V0.11.2 发行说明
本文介绍 Syslab 2024a SP1 V0.11.2 的最新特征。
版本:Syslab 2024a SP1
内部版本号:V0.11.2
发行时间:2024.04
欢迎使用 Syslab 2024a SP1 V0.11.2,这是在 2024a V0.11.1 版本基础上的一次重要更新。本次版本发布新增 2 个功能模块,优化了 5 个功能模块、17 个函数库及若干个函数。
# 新增功能
# ★Syslab 代码生成
Syslab 代码生成工具(SyslabCC)为 Julia 代码导出为可执行文件和动态库提供支持。具备以下两点功能:
- 从 Julia 代码生成启动快、体积小的可执行文件/动态链接库
- 方便用户在 C/C++、Python 等不同环境中调用 Julia 程序,且不依赖 Syslab/Julia 运行环境
# 科学计算函数库
- 基础工具箱
- 基础工具箱改进 9 个函数
- 图形工具箱新增 12 个函数,改进 39 个函数
- 基础数学工具箱新增 3 个函数,改进 25 个函数
- 地理图工具箱改进 1 个函数
- 数学、统计和优化
- 符号数学工具箱新增 95 个函数,改进 9 个函数
- 统计工具箱新增 1 个函数,改进 40 个函数
- 优化工具箱新增 3 个函数,改进 5 个函数
- 全局优化工具箱新增 1 个函数,改进 1 个函数
- 信号处理和无线通信
- 信号处理工具箱新增 7 个函数,改进 51 个函数
- DSP系统工具箱改进 6 个函数
- 雷达工具箱改进 1 个函数
- 小波工具箱改进 4 个函数
- 通信工具箱改进 40 个函数
- 相控阵工具箱新增 6 个函数
- 控制系统
- 控制系统工具箱新增 2 个函数,改进 17 个函数
- 系统辨识工具箱新增 3 个函数,改进 18 个函数
- 鲁棒控制工具箱新增 15 个函数,改进 2 个函数
- 数据科学和深度学习
- 深度学习工具箱改进 3 个函数
- 强化学习工具箱新增 1 个函数,改进 21 个函数
# 交互式编程环境
- ★新增 Python API: 将 Syslab 的信号处理与无线通信、控制系统、数学统计与优化等系列高性能专业函数库,自动导出 Python API,并内置到 Syslab,供用户在 Python 环境中直接使用。支持代码联想,并提供 Python 与 Julia 的数据交换和映射规则。
- 调试功能改进
- 启动调试之后,终端增加提示
- 调试时默认隐藏模块名、函数名、结构体、nothing 变量,和工作区保持一致
- 将设置断点的函数库采用解释模式,其余编译模式执行
- 修改调试编译模式配置立即生效,无需重启 Syslab 生效
- 修复部分场景下动态断点不生效的问题
- 修复代码中有语法错误时,调试不报错直接退出的问题
- 支持在项目环境下,顶层函数库的函数定义跳转
- IDE 界面改进
- Julia 插件升级,集成 Cthulhu.jl
- 支持 .mat 文件双击导入
- 支持 txt 文件拖拽到工作区的导入数据功能
- 支持双击编辑器 Tab 页,最大化编辑器
- 增加搜索框搜索功能
- 绘图功能改进
- 三维曲面图增加数据提示
- 增加复制为图像按钮
- 增加 title、legend 等支持双击直接编辑功能
- M 语言兼容功能改进
- 新增 95 个常用 M 函数,达到 1355 个
# 废弃功能⚠️
# 图形工具箱
图形工具箱引入 7 个破坏性更新。
| 函数名 | 函数说明 | 更改说明 |
|---|---|---|
| pie | 饼图 | 改动点:返回值 旧版本:Tuple(Vector{Wedge}, Vector{Text}) 新版本:[CPie, CText, CPie, CText...] |
| clabel | 为等高线图添加高程标签 | 改动点:返回值 旧版本:Vector{Text Text Text} 新版本:无返回值 |
| rticklabels | 设置或查询 r 轴刻度标签 | 改动点:返回值 旧版本:Vector{Text Text Text} 新版本:使用 rticklabels([0.1 0.25 0.5]) 设置 rticklabels 无返回值,使用 rticklabels() 查询 rticklabels 时返回值为 Vector{String String String String} |
| thetaticklabels | 设置或查询 theta 轴刻度标签 | 改动点:返回值 旧版本:Vector{Text Text Text Text} 新版本:使用 thetaticklabels(["East","North","West","South"]) 设置 thetaticklabels 无返回值,使用 thetaticklabels() 查询 thetaticklabels 时返回值为 Vector{String String String String} |
| xticklabels | 设置或查询 x 轴刻度标签 | 改动点:返回值 旧版本:Vector{Text Text Text} 新版本:使用 xticklabels(["x = 0", "x = 5", "x = 10"]) 设置 xticklabels 无返回值,使用 xticklabels() 查询 xticklabels 时返回值为 Vector{String String String} |
| yticklabels | 设置或查询 y 轴刻度标签 | 改动点:返回值 旧版本:Vector{Text Text Text} 新版本:使用 yticklabels(["y = 0", "y = 50", "y = 100"]) 设置 yticklabels 无返回值,使用 yticklabels() 查询 yticklabels 时返回值为 Vector{String String String} |
| zticklabels | 设置或查询 z 轴刻度标签 | 改动点:返回值 旧版本:Vector{Text Text Text} 新版本:使用 zticklabels(["z = -8","z = 0","z = 8"]) 设置 zticklabels 无返回值,使用 zticklabels() 查询 zticklabels 时返回值为 Vector{String String String} |
# 统计工具箱
统计工具箱引入 1 个破坏性更新。
| 函数名 | 函数说明 | 更改说明 |
|---|---|---|
| corr | 线性或秩相关性 | 改动点:输出个数 旧版本:输出一个(X) 新版本:输出两个(X,λ) |
# 信号处理工具箱
信号处理工具箱引入 1 个破坏性更新。
| 函数名 | 函数说明 | 更改说明 |
|---|---|---|
| findpeaks | 查找局部极大值 | 改动点:输出个数 旧版本:输出四个参数 新版本:在不输入 Min/MaxPeakWidth、MinPeakProminence、Annotate 的情况下,只会输出两个参数:峰值、峰值位置;若要在其他情况下输出四个参数需要输入 nargout |
# 通信工具箱
通信工具箱引入 5 个破坏性更新。
| 函数名 | 函数说明 | 更改说明 |
|---|---|---|
| doppler | 构建多普勒频谱结构 | 改动点:输出类型 旧版本:Tuple 新版本:struct |
| comm_HelicalInterleaver | 使用螺旋数组置换输入符号 | 改动点:输出参数数量 旧版本:输出两个(outdata,outstate) 新版本:输出一个(outdata) |
| comm_HelicalDeinterleaver | 使用螺旋数组恢复符号的顺序 | 改动点:输出参数数量 旧版本:输出三个(outdata,outstatevalue,outstatedelay) 新版本:输出一个(outdata) |
| comm_MultiplexedInterleaver | 使用一组具有指定延迟的移位寄存器来置换输入符号 | 改动点:输出参数数量 旧版本:输出三个(outdata,outstatevalue,outstateindex) 新版本:输出一个(outdata) |
| comm_MultiplexedDeinterleaver | 使用一组具有指定延迟的移位寄存器对输入符号进行解交织 | 改动点:输出参数数量 旧版本:输出三个(outdata,outstatevalue,outstateindex) 新版本:输出一个(outdata) |
# 强化学习工具箱
强化学习工具箱引入 1 个破坏性更新。
| 函数名 | 函数说明 | 更改说明 |
|---|---|---|
| memoryAppend | 经验增加 | 改动点:多个单维动作的输入格式 旧版本:Vector 新版本:Matrix |