# 2025a SP2 V1.0.4 发行说明


本文介绍 Syslab 2025a SP2 V1.0.4 的最新特征。

  • 版本:Syslab 2025a SP2

  • 内部版本号:V1.0.4

  • 发行时间:2025.05

欢迎使用 Syslab 2025a SP2 V1.0.4,这是在 2025a V1.0.2 版本基础上的一次重要更新。在此版本中,交互式编程环境优化了文本视图、导入模块、命令行窗口、调试、绘图交互、代码生成、M 导入工具、双向融合等多个模块;科学计算函数库优化了 20 个函数库及若干个函数。

# 新增功能

# 交互式编程环境

  • IDE 界面改进

    • Julia 大纲易用性改进
    • 导入模块优化
      • 导入界面重构
      • 导入分隔符支持制表符
    • 命令行窗口重构,支持鼠标点击插入光标,双击选中修改及删除
    • 支持在终端拖拽打开 syslabfig 文件
    • 支持调试状态下,放大查看变量数据后关闭,双击脚本名称,恢复资源管理器和终端命令行功能
    • 文本视图升级
      • 提升渲染性能,最大渲染文本量提升 10 倍
      • 提升交互性能,文本搜索性能大幅提升
      • 减少内存占用,同等数据量下文本视图占用的内存大幅降低
    • 支持从系统文件管理器直接复制文件,粘贴到 Syslab 资源管理器
  • 调试功能改进

    • 调试时支持导入数据
    • 修复在没有断点的情况下,调试指定代码报错的问题
    • 修复调试时,虽然 if 条件是 false,但是调试下一步时,光标显示在 if 条件体的最后一行的问题
    • 支持调试 foreach 函数
  • ★ 绘图功能改进

    • 数据提示数据支持导出到工作区
    • 数据提示支持小步长移动
  • Syslab 代码生成功能改进

    • 修复了在创建包含多种类型元素的数组时出现的 bug
    • 修复 -0.0 和 0.0 之间的 === 比较运算和 Julia 不对标的 bug
    • 新增 --single-thread 模式,启用该模式时,消除注册线程的调用,减少单线程调用导出函数时的开销
    • 修复若干 --no-gc 模式下的 bug
    • 为部分 Julia 的原子操作提供支持
  • M 导入工具改进

    • M 工作区支持右键导出 mat 文件
    • M 兼容支持块注释按键
    • 支持 M 代码格式化
    • 新增 45 个常用 M 函数,共计 1829 个 M 函数
  • 双向融合功能改进

    • 优化 SyslabObject 在仿真报错时的信息提示,报错信息更明确,方便定位
    • 优化 Linux 上 SyslabObject 仿真性能,单个 SyslabObject 两百万步从 20 s 提升至 13~15 s
    • 支持 Sysplorer 读取 Syslab 工作区数据变量
    • 支持 Sysplorer 对 Syslab 新增工作区变量
  • 帮助文档改进

    • 帮助文档增加 API 统计功能

# 科学计算函数库

  • 基础工具箱

  • 数学、统计和优化

  • 信号处理和无线通信

  • 控制系统

  • 图像处理和计算机视觉

  • AI 与数据科学

  • 代码生成

  • 函数库性能优化

    • 基础数学库优化 bvp5c、find_roots、插值模块系列函数,运行速度大幅提升;
    • griddata nearest 算法对于插值点数量 601 * 601 从 6.14 s -> 0.24 s,提升约 25 倍;
    • interp2 nearest 算法对于插值点数量 2000 * 2000 从 3.99 s -> 0.66 s,提升约 6 倍;
    • interp2 spline 算法对于插值点数量 5000 * 5000 从 30 s -> 12 s,提升 2.5 倍;
    • interp3 linear 算法对于插值点数量 241 _ 397 _ 241 从 4.55 s -> 0.3 s,提升约 1.5 倍;
    • interp3 spline 算法对于插值点数量 200 _ 200 _ 200 从 4.50 s -> 1.52 s,提升约 3 倍;
    • bvp5c 算法对于 6000*1 的向量输入耗时从 1284.86 s -> 0.140756 s,提升 9000 倍左右;
    • find_roots:七阶 legendreP 表达式求根,394.751 s ->0.025 s;
    • 图形库优化 3 个函数 hsv,rgb2hsv,hsv2rgb,首次运行速度平均减少 98%;
    • 通信工具箱优化 11 个函数 de2bi, comm_DPSKDemodulator,comm_DPSKModulator,dpskmod,comm_RSDecoder,rsdec,comm_ErrorRate,convenc,comm_ConvolutionalEncoder,vitdec,comm_ViterbiDecoder,首次运行时间平均减少 36.5%;
    • 信号工具箱优化 8 个函数 bandpass,bandstop,ty_cpsd,ty_mscohere,ty_periodogram,ty_pwelch,ty_tfestimate,tsa,首次运行时间平均减少 14%。

# 删除或变更功能 ⚠️

# 通信工具箱

通信工具箱引入 2 个破坏性更新。

函数名 函数说明 更改说明
comm_RSDecoder 使用 Reed-Solomon 解码器解码数据 删除 NumCorrectedErrorsOutputPort、OutputDataType 字段,step 总是输出两个参数
vitdec 使用维特比算法对二进制数据进行卷积解码 当操作模式为 terminated 和 truncated 时,默认输出一个参数,当操作模式为 continuous 时,默认输出四个参数

# 附录:函数列表

# 基础工具箱

基础工具箱新增函数 3 个。

函数名 函数说明
conj_copy 复共轭,拷贝原数组
adjoint_copy 复共轭转置,拷贝原数组
transpose_copy 转置向量或矩阵,拷贝原数组

基础工具箱修改函数 4 个。

函数名 函数说明
strcmp 比较字符串
ty_issorted 确定数组是否已排序
find 查找非零元素的索引和值
load 将文件变量加载到工作区中

# 图形工具箱

图形工具箱新增函数 1 个。

函数名 函数说明
zoom 启用缩放模式

图形工具箱修改函数 15 个。

函数名 函数说明
hist 直方图
contour 矩阵的等高线图
clabel 为等高线图添加高程标签
quiver3 三维箭头图或速度图
scatter 散点图
colorbar 显示色阶的颜色栏
plt_delete 删除图形对象
slice 三维体切片平面
ezplot 易用的函数绘图函数
histogram 直方图
figure 创建图窗窗口
plt_set 设置图形对象属性
ishandle 测试是否有效的图形对象
axis 设置坐标轴范围和纵横比
colormap 查看并设置当前颜色图

# 基础数学工具箱

基础数学工具箱新增函数 4 个。

函数名 函数说明
ty_ordschur 在 Schur 分解中将特征值重新排序
convhulln N 维凸包
convhull 凸包
voronoi 沃罗诺伊图

基础数学工具箱修改函数 11 个。

函数名 函数说明
griddata 对二维或三维散点数据插值
delaunay Delaunay 三角剖分
interp3 meshgrid 格式的三维网格数据的插值
bvp5c 求解边界值问题 - 五阶方法
MRG32k3a 随机数种子(影响所有使用此种子的随机数生成函数的结果)
spline 三次方样条数据插值
conv 卷积和多项式
eul2rotm 将欧拉角转换为旋转矩阵
nearest 半径范围内最近的邻点
interp1 一维数据插值(表查找)
interp2 meshgrid 格式的二维网格数据插值

# 符号数学工具箱

符号数学工具箱新增函数 6 个。

函数名 函数说明
latexify 符号表达式的 latex 形式
ezplot 绘制符号表达式、方程或函数
assume 设置符号对象的假设
assumeAlso 添加符号对象的假设
assumptions 显示影响符号变量的假设
sym_simplify 代数化简

符号数学工具箱修改函数 8 个。

函数名 函数说明
iztrans Z 逆变换
fsurf 绘制三维曲面
find_roots 多项式的根
sym_simplify 代数化简
cofficients 多项式系数
int 定积分和不定积分
numden 提取分子和分母
find_poles 表达式或函数的极点

# 曲线拟合工具箱

曲线拟合工具箱修改函数 3 个。

函数名 函数说明
fit 为数据拟合曲线或曲面
fitoptions 创建或调整拟合选项对象
fittype 曲线与曲面拟合的拟合类型

# 统计工具箱

统计工具箱修改函数 1 个。

函数名 函数说明
plot 支持 fitdist 结果的 plot 函数

# 优化工具箱

优化工具箱修改函数 5 个。

函数名 函数说明
mpsread 读取 MPS 文件中的 LP 和 MILP 优化数据
evaluate 计算问题中的优化表达式或目标和约束
infeasibility 一个点处的约束违反值
issatisfied 检查优化问题在一组点上是否满足约束
fmincon 寻找约束非线性多变量函数的最小值

# 全局优化工具箱

全局优化工具箱修改函数 4 个。

函数名 函数说明
ga 用遗传算法寻找函数最小值
cascadeparams 组合 S 参数以形成级联网络
sparameters 计算射频数据、网络、电路和匹配网络对象的 S 参数
rationalfit 使用稳定有理函数对象逼近数据

# 信号处理工具箱

信号处理工具箱修改函数 20 个。

函数名 函数说明
grpdelay 平均滤波器延迟(群延迟)
tf2zp 将传递函数滤波器参数转换为零极点增益形式
filtfilt 零相位数字滤波
bandpass 带通滤波器信号
bandstop 带阻滤波器信号
ty_cpsd 互功率谱密度
ty_mscohere 幅度平方相干性
ty_periodogram 周期图功率谱密度估计
ty_pwlech Welch 的功率谱密度估计
ty_tfestimate 传递函数估计
tsa 时间同步信号平均值
fir2 基于频率采样的 FIR 滤波器设计
dpsssave 离散的类球面或 Slepian 序列数据库
dpssload 从数据库加载离散的类球面序列
dpssclear 从数据库中删除离散的长球体序列
dpssdir 离散类球面序列数据库目录
sawtooth 锯齿波或三角波
sfdr 无杂散动态范围
undershoot 双电平波形转换的下冲指标
pspectrum 在频域和时频域进行信号分析

# DSP 系统工具箱

DSP 系统工具箱修改函数 4 个。

函数名 函数说明
design 应用设计方法过滤规范对象
designmethod 可用于从规范对象设计滤波器的方法
designoptions 显示可用于指定设计的所有选项
noisepsd 由于舍入噪声引起的滤波器输出的功率谱密度

# 雷达工具箱

雷达工具箱新增函数 2 个。

函数名 函数说明
slerp 球形线性插值
normalize 四元数归一化

# 通信工具箱

通信工具箱新增函数 1 个。

函数名 函数说明
comm_ACPR 测量相邻信道功率比(ACPR)

通信工具箱修改函数 21 个。

函数名 函数说明
comm_RSEncoder 使用 Reed-Solomon 编码器对数据进行编码
rsdec Reed-Solomon 解码器
comm_RSDecoder 使用 Reed-Solomon 解码器解码数据
dpskmod 差分相移键控调制
comm_DPSKModulator 使用 M 进制 DPSK 方法调制信号
dpskdemod 差分相移键控解调
comm_DPSKDemodulator 使用 M 进制 DPSK 方法解调信号
wgn 生成高斯白噪声样本
comm_DecisionFeedbackEqualizer 使用判决反馈滤波均衡调制信号
randsrc 使用指定的字母生成随机矩阵
de2bi 将十进制数字转换为二进制向量
scatterplot 生成散点图
comm_ErrorRate 计算输入数据的误码率
convenc 卷积编码二进制信息
comm_ConvolutionalEncoder 卷积编码二进制数据
vitdec 使用维特比算法对二进制数据进行卷积解码
comm_ViterbiDecoder 使用维特比算法卷积编码数据
awgn 为信号增加高斯白噪声
comm_MIMOChannel 输入信号通过 MIMO 多径衰落信道
gfweight 计算线性分组码的最小距离
bi2de 将二进制向量转换为十进制数

# 射频工具箱

射频工具箱新增函数 6 个。

函数名 函数说明
yparameters 创建 Y 参数对象
zparameters 创建 Z 参数对象
gparameters 创建 G 参数对象
hparameters 创建混合参数对象
abcdparameters 创建 ABCD 参数对象
tparameters 创建 T 参数对象

射频工具箱修改函数 4 个。

函数名 函数说明
analyze 在频域中分析 RFCKT 对象
cascadeparams 组合 S 参数以形成级联网络
sparameters 计算射频数据、网络、电路和匹配网络对象的 S 参数
rationalfit 使用稳定有理函数对象逼近数据

# 控制系统工具箱

控制系统工具箱修改函数 4 个。

函数名 函数说明
impulse 动态系统的脉冲响应图;脉冲响应数据
step 动态系统的阶跃响应图,阶跃响应数据
rlcous 动态系统的根轨迹图
bode 频率响应伯德图,或幅值和相位数据

# 系统辨识工具箱

系统辨识工具箱新增函数 2 个。

函数名 函数说明
idgrey 灰箱模型
greyest 线性灰箱模型描述方程参数估计

系统辨识工具箱修改函数 8 个。

函数名 函数说明
tfest 时频域数据的传递函数估计
predict 形成模型的预测响应
compare 比较辨识的模型输出
pe 估计模型的预测误差
sim 模拟辨识模型的响应
lsim 模拟动态系统对任意输入的模拟响应数据
findstates 估计模型的初始状态
resid 估计模型的残差

# 鲁棒控制工具箱

鲁棒控制工具箱新增函数 1 个。

函数名 函数说明
uplot 在同一图形上绘制多个频响或数值对象

# 图像处理工具箱

图像处理工具箱新增函数 8 个。

函数名 函数说明
impixel 像素颜色值
graydist 灰度图像的灰度加权距离变换
affinetform3d 三维仿射几何变换
circles2mask 创建圆形的二进制掩膜
colorangle 两个 RGB 向量之间的夹角
col2im 将矩阵列重新排列为块
entropy 灰度图像的熵
im2col 将图像块重新排列为列

图像处理工具箱修改函数 1 个。

函数名 函数说明
imnoise 向图像添加噪声

# 机器学习工具箱

机器学习工具箱新增函数 1 个。

函数名 函数说明
convent_columns 将数据集中指定的字符串标签列映射为整数

机器学习工具箱修改函数 3 个。

函数名 函数说明
dendrogram 绘制聚类树状图
lhsdesign 拉丁超立方体样本
fit 模型拟合流式数据

# 深度学习工具箱

深度学习工具箱新增函数 6 个。

函数名 函数说明
export_dl_artifacts 统一下载深度学习工具箱的项目工件
dataset_dir 获取数据集路径
DigitDatasetTestData 加载手写数字测试集
DigitDatasetTrainData 加载手写数字训练集
iris_dataset 加载鸢尾花数据集
simplefit_dataset 加载简易拟合数据集

深度学习工具箱修改函数 41 个。

函数名 函数说明
bert Bert 神经网络
albert Albert 神经网络
align Align 神经网络
googlenet GoogLeNet 卷积神经网络
inceptionv3 Inception-v3 卷积神经网络
mobilenetv2 MobileNet-v2 卷积神经网络
resnet18 ResNet-18 卷积神经网络
resnet50 ResNet-50 卷积神经网络
resnet101 ResNet-101 卷积神经网络
xception Xception 卷积神经网络
shufflenet ShuffleNet 卷积神经网络
alexnet AlexNet 卷积神经网络
squeezenet Squeezenet 卷积神经网络
densenet121 Densenet121 卷积神经网络
densenet161 Densenet161 卷积神经网络
densenet201 Densenet201 卷积神经网络
mobilenetv3 MobileNet-v3 卷积神经网络
efficientnetb0 Efficientnet-b0 卷积神经网络
efficientnetb3 Efficientnet-b3 卷积神经网络
efficientnetb7 Efficientnet-b7 卷积神经网络
efficientnetv2 Efficientnet-v2 卷积神经网络
vgg16 Vgg16 卷积神经网络
vgg16bn Vgg16-bn 卷积神经网络
vgg19 Vgg19 卷积神经网络
vgg19bn Vgg19-bn 卷积神经网络
visiontransformerb16 Visiontransformer-b16 神经网络
visiontransformerb32 Visiontransformer-b32 神经网络
convnextsmall 小型 Convnext 卷积神经网络
convnexttiny 微型 Convnext 卷积神经网络
convnext Convnext 卷积神经网络
maxvit Maxvit 神经网络
mnasnet Mnasnet 卷积神经网络
regnety Regnety 卷积神经网络
regnetx Regnetx 卷积神经网络
swin Swin_transformer 神经网络
swintiny 微型 swin_transformer 神经网络
swinsmall 小型 Swin_transformer 神经网络
swinv2 Swin_transformerv2 神经网络
mapminmax 通过将行最小值和最大值映射到 [-1,1] 来处理矩阵
envinit 手动安装依赖环境
minmax 输出最小与最大输入值

# 定点工具箱

定点工具箱新增函数 5 个。

函数名 函数说明
num2hex 使用 quantizer 对象将数字转换为十六进制等效值
cordicabs 基于 CORDIC 的绝对值
cordicangle 基于 CORDIC 的相位角
cordicatan2 基于 CORDIC 的四象限反正切函数
cordiccart2pol 基于 CORDIC 的笛卡尔坐标转极坐标

定点工具箱修改函数 1 个。

函数名 函数说明
bitsra 算数右移位

# 函数性能优化

  1. 基础数学库对插值模块进行性能优化,运行速度大幅提升;
    • griddata nearest 算法对于插值点数量 601 * 601 从 6.14 s -> 0.24 s,提升约 25 倍;
    • interp2 nearest 算法对于插值点数量 2000 * 2000 从 3.99 s -> 0.66 s,提升约 6 倍;
    • interp2 spline 算法对于插值点数量 5000 * 5000 从 30 s -> 12 s,提升 2.5 倍;
    • interp3 linear 算法对于插值点数量 241 _ 397 _ 241 从 4.55 s -> 0.3 s,提升约 1.5 倍;
    • interp3 spline 算法对于插值点数量 200 _ 200 _ 200 从 4.50 s -> 1.52 s,提升约 3 倍;
    • bvp5c 算法对于 6000*1 的向量输入耗时从 1284.86 s -> 0.140756 s,提升 9000 倍左右;
    • find_roots:七阶 legendreP 表达式求根,394.751 s ->0.025 s。
  2. 图形库优化 3 个函数 hsv,rgb2hsv,hsv2rgb,首次运行速度平均减少 98%;
  3. 通信工具箱优化 11 个函数 de2bi, comm_DPSKDemodulator,comm_DPSKModulator,dpskmod,comm_RSDecoder,rsdec,comm_ErrorRate,convenc,comm_ConvolutionalEncoder,vitdec,comm_ViterbiDecoder 首次运行时间平均减少 51.4%;
  4. 信号工具箱优化 8 个函数 bandpass,bandstop,ty_cpsd,ty_mscohere,ty_periodogram,ty_pwelch,ty_tfestimate,tsa,首次运行时间平均减少 14%。

# M 兼容新增函数

M 兼容新增函数 45 个。

函数名 函数说明
dlmwrite 将矩阵写入到 ASCII 分隔文件
audiowrite 写音频文件
audioread 读取音频文件
zoom 启用或禁用缩放或者按比例放大
scatteredInterpolant 散点数据插值
close 写入视频数据之后关闭文件
extractFeatures 提取兴趣点描述符
hasFrame 确定是否有视频帧可供读取
imdistline 距离工具
matchFeatures 查找匹配的特征
open 打开文件以写入视频数据
read 读取一个或多个视频帧
readFrame 读取下一个视频帧
VideoReader 创建对象以读取视频文件
VideoWriter 创建对象以写入视频文件
writeVideo 将视频数据写入到文件
fplot 绘制表达式或函数
dsp_SpectrumAnalyzer 显示时域信号的频谱
timescope 显示时域信号
extract 从 rfckt 对象或数据对象中提取指定的网络参数
bchenc BCH 编码器
bchnumerr BCH 码的可纠正错误数
comm_SymbolSynchronizer 校正符号定时时钟偏移
rsgenpoly Reed-Solomon 码的生成多项式
dvbs2ldpc DVB-S.2 标准的低密度奇偶校验 (LDPC) 码
constellation 计算或绘制理想信号星座图
quantiz 产生量化索引和量化输出值
bchdec BCH 解码器
comm_ACPR 测量相邻通道功率比(ACPR)
ksdensity 单变量和双变量数据的核平滑函数估计
randsample 随机样本
iddata 在时域或频域用于系统识别的输入输出数据及其特性
pulse2pda 脉冲响应的峰值失真分析眼图
eul2rotm 将欧拉角转换为旋转矩阵
sigmf S 型隶属函数
edit 编辑或创建文件
evalc 计算 MATLAB 表达式并捕获结果
builtin 从已重载的方法执行内置函数
nargoutchk 验证输出参量数目
ismissing 查找缺失值
nonzeros 非零矩阵元素
detectFASTFeatures 使用 FAST 算法检测角点
detectHarrisFeatures 使用 Harris–Stephens 算法检测角点
drawrectangle 创建可定制的矩形 ROI
syms 创建符号标量变量和函数以及矩阵变量和函数