# 2023b SP1 V0.10.5 发行说明


本文介绍 Syslab 2023b SP1 V0.10.5 的最新特征。

# 1 版本亮点

欢迎使用 Syslab 2023b SP1 V0.10.5,这是在 2023b V0.10.1版本基础上的一次重要更新。 在此版本中,Syslab 基础环境全新发布 2 个函数库和 1 个 APP,并对 Syslab基础环境功能模块、函数库进行了优化。我们希望您会喜欢此版本中的更新内容。以下是本次更新的亮点内容:

(1).交互式编程环境

  • 改进绘图功能:
    • 支持 Figure 导入导出:能够将绘图保存为图窗文件(.syslabfig),能够通过绘图窗口直接打开图窗文件并进行编辑。
    • 支持跨坐标轴的曲线复制、粘贴操作。
  • Julia 函数库加载性能优化:Julia函数库加载性能优化,整体加载时间显著下降,平均提速30% 以上。
  • 升级 Julia1.7.3 为 Julia1.9.3:内核 Julia1.7.3 升级为 Julia1.9.3,Julia1.9.3 可以带来更高性能的运行速度。
  • 整合调试工具栏及提升调试稳定性:
    • 整合调试菜单按钮
    • 提升调试功能稳定性
    • 支持以表格形式查看调试变量,包括一维数组,二维数组,多维数组,转置矩阵,范围表达式,元组,字典等类型变量。
  • 完善 M 语言兼容工具功能:
    • 增加 M 代码调试功能
    • 命令行窗口支持 Tab 键自动补全功能
    • 命令行窗口支持输入)进入 MLang 模式
    • 支持 M 语言与 Julia 语言互调用
    • 新增 190 个常用 M 函数,达到 567 个。
  • 改进工作区变量显示:一般情况下,直接显示变量值;对于超过 10 个元素的数组,高亮显示其类型与维度。
  • 首选项增加大纲导航。
  • ⚠功能删除或变更
    • Syslab 默认取消函数库预加载,用户需要按需 using 函数库。用户以前示例可能会运行报错,需要在示例上 using 所需的函数库。
    • Julia1.9 移除了系统映像文件(JuliaSysimage.dll)及相关菜单功能。

(2).科学计算函数库

  • 基础工具箱
    • 图形工具箱新增函数 29 个函数,改进 2 个函数
    • 基础数学工具箱新增 29 个函数,改进 36 个函数,删除 1 个函数
    • 报告生成工具箱新增 6 个函数,改进 8 个函数
  • 数学、统计和优化
    • 曲线拟合工具箱改进 4 个函数
    • 符号数学工具箱新增 2 个函数
    • 统计工具箱新增 13 个函数,改进 58 个函数
    • 优化工具箱新增 11 个函数,改进 18 个函数
  • 信号处理和无线通信
    • 信号处理工具箱新增 10 个函数,改进 5 个函数
    • 通信工具箱改进 7 个函数
    • 小波工具箱新增 66 个函数
    • 雷达工具箱新增 27 个函数
    • 相控阵工具箱新增 42 个函数
  • 控制系统
    • 控制系统工具箱新增 16 个函数,改进 19 个函数
    • 系统辨识工具箱改进 17 个函数
    • 全新发布鲁棒控制工具箱,新增 21 个函数。用于分析和调整控制系统,使其在存在模型不确定性的情况下仍能保持性能和鲁棒性。
  • 数据科学和深度学习
    • 机器学习工具箱新增 24 个函数,改进 7 个函数
    • 深度学习工具箱新增 45 个函数
    • 全新发布强化学习工具箱,新增 39 个函数。新增 Q-Learning、SARSA、DQN、double-DQN、PG、AC、DDPG7 种强化学习算法,目前内部集成了 gym 库中的 6 种环境,可以实现强化学习智能体的创建、训练以及使用。

(3).科学计算 APP

  • 全新发布滤波器可视化APP:支持查看幅值响应、相位响应、群延迟响应、相位延迟响应、冲激响应、阶跃响应、零极点图以及滤波器系数,并可以通过设置分析参数以及采样频率控制对应滤波器响应的展示效果。

(4).帮助文档及其他

  • 改进帮助文档:
    • 解决帮助文档首次启动慢问题,首次启动从 6s 降到 1~2s。
    • 解决帮助文档内存占用高问题,内存占用从 1.5G 降到 390MB。
    • 帮助文档大纲新增“Syslab > Julia语言概览”、“开放系统架构”、“常见问题”等主题。

# 2 更新详情

# 2.1 交互式编程环境

# 2.1.1 改进绘图功能

A.支持 Figure 导入导出:

支持 Figure 导入导出:能够将绘图保存为图窗文件(.syslabfig),能够通过绘图窗口直接打开图窗文件并进行编辑。

(1).在 Figure 窗口绘制图形,点击菜单栏“保存”按钮,将图窗保存为 .syslabfig 格式的文件。

(2).在 Figure 窗口点击菜单栏“打开”按钮,将保存好的 .syslabfig 文件导入。

(3).将导入前的图窗与导入后的图窗进行对比,结果一致。

B.支持跨坐标轴的曲线复制、粘贴操作。

(1).绘制曲线,在第一个坐标轴右键曲线进行复制操作

(2).在另一个坐标轴右键进行粘贴操作

(3).比较复制前曲线与粘贴后的曲线,结果一致。

# 2.1.2 Julia函数库加载性能优化

Julia函数库进行了加载性能优化工作,整体加载时间显著下降,平均提速30% 以上。

(1).基础、数学、图形、统计、曲线拟合、控制系统、信号处理、DSP系统、通信等函数库:预加载耗时 23.25=>10.62s
(2).基础、数学、图形、统计、曲线拟合、符号计算、控制系统、信号处理、DSP系统、通信等函数库:预加载耗时35.49=>20.60s
(3).全量加载(21个同元上层库):预加载耗时58.78=>39.96s
注:不同机器预加载时间存在差异。

# 2.1.3 升级 Julia1.7.3 为 Julia1.9.3

在 Julia 加载性能优化工作的基础上,对 Julia 进行了升级的适配工作。内核 Julia1.7.3 升级为 Julia1.9.3,Julia1.9.3 可以带来更高性能的运行速度。

(1).基础、数学、图形、统计、曲线拟合、控制系统、信号处理、DSP系统、通信等函数库:预加载耗时 10.62=>7.23s

(2).基础、数学、图形、统计、曲线拟合、符号计算、控制系统、信号处理、DSP系统、通信等函数库:预加载耗时20.60=>16.68s

(3).全量加载(21个同元上层库):预加载耗时39.96=>27.49s

注:不同机器预加载时间存在差异。

# 2.1.4 整合调试工具栏及提升调试稳定性

(1).整合调试菜单按钮

(2).提升调试功能稳定性

(3).支持以表格形式查看调试变量,包括一维数组,二维数组,多维数组,转置矩阵,范围表达式,元组,字典等类型变量

# 2.1.5 完善 M 语言兼容工具功能

A.增加 M 代码调试功能

(1).支持启动调试、启动所有断点、禁用所有断点、删除所有断点

(2).支持变量打开表格视图

(3).支持查看调用堆栈

(4).支持调试控制台输入表达式,查看变量,修改变量

(5).支持查看断点、切换激活断点、删除所有断点

(6).调试提供继续、单步跳过、单步调试、重启、断开连接功能

(7).调试时支持对绘制的图窗进行操作

B.命令行窗口支持 Tab 键自动补全功能

(1).正常补全,mlang REPL 中输入 acos 按 TAB 键

C.命令行窗口支持输入)进入 MLang 模式

(1).按 ) 键进入 mlang 命令行终端模式
(2).按 ctrl + c 键从 mlang 命令行终端退出至 Julia 命令行终端
(3).输入无内容时按 BACKSPACE 键退出 mlang 命令行终端至 Julia 命令行终端

D.支持 M 语言与 Julia 语言互调用

帮助文档新增“支持M语言与Julia语言互调用”模块。

E.新增 190 个常用 M 函数,达到 567 个

# 2.1.6 改进工作区变量显示

(1).工作空间显示全新设计,一般情况下,直接显示变量值;对于超过 10 个元素的数组,高亮显示其类型与维度。

# 2.1.7 首选项增加大纲导航

(1).首选项增加大纲导航。

# 2.1.8 支持 Julia 调试打开表格视图

Julia 调试支持打开一维数组,二维数组,多维数组,转置类型,范围表达式,位数组,元组,字典变量表格视图。

# 2.1.9 实时编辑器增加对 Julia 语言的支持

实时编辑器增加对 Julia 语言的支持。

支持用户在统一的文档环境中将代码、嵌入式输出、格式化文本、方程和图像组合到一起,生成可交互式的记事本,并与他人分享。

# 2.1.10 ⚠功能删除或变更

(1).Syslab 取消函数库预加载,用户需要按需 using 函数库。用户以前的示例可能会运行报错,需要在示例上 using 所需的函数库。

(2).Julia1.9 移除了映像文件,用户无法使用自定义预编译代码创建系统映像。

# 2.2 科学计算函数库

# 2.2.1 基础数学工具箱

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

函数名 函数说明
normest 2-范数估值
condest 1-范数条件数估计
quad 以自适应 Simpson 积分法计算数值积分
quadl 向量化积分
quadv 向量化积分
dblquad 矩形区域上的二重积分的数值计算
triplequad 矩形区域上的二重积分的数值计算
symmlq 求解线性系统 - 对称的 LQ 方法
gmres 求解线性系统 - 广义最小残差法
bicgstab 求解线性系统 - 稳定双共轭梯度法
cgs 求解线性系统 - 共轭梯度二乘法
qmr 求解线性系统 - 拟最小残差法
bicg 求解线性方程组 - 双共轭梯度法
lsqr 求解线性方程组-最小二乘法
pcg 求解线性系统 - 预条件共轭梯度法
ty_quadgk 计算数值积分 - 高斯-勒让德积分法
ty_integral 数值积分
bicgstabl 求解线性方程组 - 稳定双共轭梯度(I)法
polyarea 多边形的面积
rectint 矩形交叉区域
tsearchn N 维最近单纯形搜索法
inpolygon 位于多边形区域边缘内部或边缘上的点
dsearchn 最近点搜索
bvpxtend 构造用于扩展边界值解的估计值结构体
bfsearch 广度优先图搜索
shortestpath 两个单一节点之间的最短路径
shortestpathtree 从节点的最短路径树
distances 所有节点对组的最短路径距离
quad2d 计算二重数值积分 - tiled 方法

基础数学工具修改函数 36 个。

函数名 函数说明
magic 幻方矩阵
gradient 数值梯度
chow 奇异的托普利茨下 Hessenberg 矩阵
chebspec Chebyshev 谱微分矩阵
chebvand Chebyshev 多项式的 Vandermonde 类矩阵
unmesh 将边矩阵转换为坐标和拉普拉斯矩阵
isprime 确定哪些数组元素为质数
factor 质因数
lscov 存在已知协方差的最小二乘解
lsqminnorm 线性方程的最小范数最小二乘解
prevprime 前一个素数
poly 具有指定根的多项式或特征多项式
legendre 连带Legendre函数
nextprime 后一个素数
primes 小于等于输入值的质数
polyeig 多项式特征值问题
balance 对角线缩放以提高特征值准确性
svdsketch 计算低秩矩阵草图的 SVD
symamd 对称近似最小度置换
colamd 列近似最小度排列
residue 部分分式展开(部分分式分解)
del2 离散拉普拉斯算子
odeset 为 ODE 和 PDE 求解器创建或修改 options 结构体
ode23 求解非刚性微分方程 - 低阶方法
ode23tb 求解刚性微分方程 - 梯形法则 + 后向差分公式
bvp4c 求解边界值问题 - 四阶方法
ddeset 创建或更改时滞微分方程 options 结构体
graphsimplify 将多重图简化为简单图
delaunay Delaunay 三角剖分
interp1 一维数据插值(表查找)
filter1 1 维数字滤波器
etreeplot 绘制消去树
randi 均匀分布的伪随机整数
randn 标准正态分布的随机数
randg 具有单位尺度的 Gamma 随机数
mt19937ar 生成mt19937ar RNG对象

其中 symamd、colamd、residue 函数为破坏性更改,residue 函数算法重写,symamd、colamd 算法增加 etree 处理,使用新版本请注意结果变化。

基础数学工具箱删除函数 1 个。

函数名 函数说明
flow 包含三个变量的简单函数

# 2.2.2 图形工具箱

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

函数名 函数说明
brighten 增亮或加深颜色图
contrast 创建灰度颜色图以增强图像对比度
meshz 带帷幕的网格曲面图
volumebounds 体数据的坐标和颜色范围
subvolume 提取三维体数据集的子集
surf2patch 将曲面数据转换为补片数据
reducevolume 缩减三维体数据集内的元素数
diffuse 计算漫反射
specular 计算镜面反射
spinmap 滚动展示颜色图 map 的颜色
hidden 显示曲面图中隐藏的线条
curl 向量场的旋度和角速度
divergence 计算向量场的散度
num2ruler 将数值数据转换为特定标尺使用的数据
ruler2num 将特定标尺的数据转换为数值数据
shrinkfaces 减小补片面的大小
comet 二维彗星图
comet3 三维彗星图
smooth3 平滑处理三维数据
isocolors 计算等值面和补片颜色
copygraphics 将绘图或图形内容复制到剪贴板
exportgraphics 将绘图或图形内容保存到文件
printopt 配置打印机默认设置
surfnorm 曲面图法线
isonormals 计算等值面顶点的法向量
orient 打印或保存时使用的纸张方向
shading 设置颜色着色属性
isosurface 从三维体数据中提取等值面数据
slice 三维体切片平面

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

函数名 函数说明
plt_get 查询图形对象属性
plt_set 设置图形对象属性

# 2.2.3 信号处理工具箱

信号处理工具箱新增函数 10 个。

函数名 函数说明
dpssdir 离散类球面序列数据库目录
dpsssave 离散的类球面或 Slepian 序列数据库
dpssload 从数据库加载离散的类球面序列
fillgaps 利用自回归模型填补空白
obw 占用带宽
powerbw 功率带宽
medfreq 中值频率
yulewalk 递归数字滤波器设计
spectrogram 使用短时傅立叶变换的频谱图
xspectrogram 基于短时傅里叶变换的交叉时频谱

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

函数名 函数说明
sosfilt 二阶(双二次)IIR 数字滤波
upfirdn 上采样、应用 FIR 滤波器和下采样
remez 计算 minimax 最优滤波器
decimate 抽取 — 按整数因子降低采样率
tf2ss 将传递函数滤波器参数转换为状态空间形式

# 2.2.4 小波工具箱

小波工具箱新增函数 66 个。

函数名 函数说明
freqz CWT滤波器组频率响应
timeSpectrum 时间平均小波谱
scaleSpectrum 尺度平均小波谱
cwtfreqbounds CWT 最大和最小频率或周期
wcoherence 小波相干性和交叉频谱
wsst 同步压缩小波变换
iwsst 逆小波同步压缩变换
wsstridge 小波同步压缩的时频脊
wtmm 小波变换模极大值
cwtft2 二维连续小波变换
cwtftinfo2 支持的二维CWT小波和傅立叶变换
wavedec2 二维小波分解
dwt2 单级二维离散小波变换
idwt2 单级二维离散小波逆变换
waverec2 二维小波重构
appcoef2 二维近似系数
detcoef2 二维细节系数
haart2 Haar 二维小波变换
ihaart2 Haar 二维小波逆变换
dualtree2 Kingsbury Q-shift二维双树复小波变换
idualtree2 Kingsbury Q-shift 二维双树复小波逆变换
dddtree2 双树双密度二维小波变换
idddtree2 逆双树和双密度二维小波变换
wrcoef2 从二维小波系数重构单分支
wfusimg 两个图像融合
wfusmat 两个矩阵或者数组融合
wenergy2 二维小波分解的能量
wavedec3 三维小波分解
dwt3 单级三维离散小波变换
idwt3 单级逆离散三维小波变换
waverec3 三维小波重建
dualtree3 三维双树复小波变换
idualtree3 三维双树复小波重构
mdwtdec 多信号一维小波分解
mdwtrec 多信号一维小波重建
mswcmp 使用小波的多信号一维压缩
mswcmpscr 多信号一维小波压缩分数
mswcmptp 多信号一维压缩阈值和性能
mswden 基于小波的多信号一维去噪
mswthresh 执行多信号一维阈值
wdecenergy 多信号一维分解能量分布
wmspca 多尺度主成分分析
wdenoise 小波信号去噪
wdenoise2 小波图像去噪
cmddenoise Interval-dependent去噪
wdencmp 去噪或压缩
ddencmp 去噪或压缩的默认值
thselect 去噪的阈值选择
wthcoef 一维小波阈值处理
wthcoef2 二维小波阈值处理
wthresh 软/硬阈值处理
nodejoin 重组节点
measerr 信号或图像近似的品质计算
dwtfilterbank 离散小波变换滤波器组
dwtpassbands DWT滤波器组通带
filters DWT滤波器组滤波器
framebounds DWT滤波器组帧边界
freqz DWT滤波器组频率响应
isBiorthogonal 确定DWT滤波器组是否双正交
isOrthogonal 确定DWT滤波器组是否正交
powerbw DWT滤波器组功率带宽
qfactor DWT 滤波器组品质因数
scalingfunctions DWT滤波器组时域缩放函数
wavelets DWT滤波器组时域小波
waveletsupport DWT滤波器组时间支持
tnodes 确定终端节点

# 2.2.5 雷达工具箱

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

函数名 函数说明
aperture2swath 地面雷达的测绘带范围
sarbeamcompratio SAR 波束压缩比
sarbeamwidth 合成孔径方位波束宽度
sardispgrazang 显示 SAR 数据采集的掠射角
sarintang SAR 的相干积分角
sarlen 合成孔径长度
sarmaxswath SAR 的测绘带长度上限
sarmaxcovrate SAR 区域覆盖率上限
sarminaperture SAR 天线面积下限
sarrange SAR 最大无模糊斜距范围
sarprfbounds SAR 的 PRF 上下限
sarsquintang SAR 数据采集的斜视角
grnd2slantrange 将地距投影转换为斜距
slant2grndrange 将斜距转换为地距投影
grnd2slantrngres 将地距分辨率转换为斜距分辨率
slant2grndrngres 将斜距分辨率转换为地距分辨率
sarprf 合成孔径雷达 PRF
sarazres SAR 的方位或横向距离分辨率
rainelres 降雨的仰角分辨率受到雷达分辨率的限制
rcscylinder 圆柱雷达截面
rcsdisc 扁平圆板雷达截面
rcssphere 球体的雷达截面
rcstruncone 截锥雷达截面
grazingang 表面目标的掠射角
radarmetricplot 根据目标距离绘制雷达性能指标图
toccgh 使用 CGH 算法计算轨迹概率
horizonrange 地平线距离

# 2.2.6 相控阵工具箱

相控阵工具箱新增函数 42 个。

函数名 函数说明
phased_OmnidirectionalMicrophoneElement 全向麦克风元件
phased_IsotropicHydrophone 各向同性水听器元件
phased_IsotropicProjector 各向同性投影元件
phased_ULA 均匀线性阵列
phased_HeterogeneousConformalArray 异构共形阵列
phased_HeterogeneousULA 异构均匀线性阵列
phased_HeterogeneousURA 异构均匀矩形阵列
getNumElements 阵列中的元件数
isPolarizationCapable 阵列极化能力
getTaper 阵列元件的锥度
phased_ElementDelay 传感器阵列元件延迟估算器
phased_ArrayGain 传感器阵列增益
az2broadside 将方位角和仰角转换为广角
broadside2az 将广角转换为方位角
pilotcalib 使用先导源进行阵列校准
taylortaperc 阵列泰勒 nbar 锥削
collectPlaneWave 模拟接收到的平面波
phased_Collector 窄带信号采集器
phased_Radiator 窄带信号辐射器
sensorsig 模拟传感器阵列的接收信号
phased_Transmitter 发射机
phased_ReceiverPreamp 接收器前置放大器
noisepow 接收器噪声功率
systemp 接收器系统噪声温度
phased_LCMVBeamformer 窄带LCMV波束形成器
phased_MVDRBeamformer 窄带最小方差无失真响应波束形成器
phased_PhaseShiftBeamformer 窄带相移波束形成器
cbfweights 传统波束成形器权重
mvdrweights 最小方差无失真响应(MVDR)波束形成器权重
phased_BeamscanEstimator 用于 ULA 的波束扫描空间光谱估计器
phased_BeamspaceESPRITEstimator 用于 ULA的波束空间 ESPRIT 到达方向(DOA)估计器
phased_ESPRITEstimator 用于 ULA的 ESPRIT 到达方向(DOA)估计器
phased_MVDREstimator 用于ULA的MVDR(Capon)空间谱估计器
phased_MUSICEstimator 使用窄带MUSIC 算法估计 ULA 的到达方向
phased_RootMUSICEstimator 用于ULA 和UCA 的根 MUSIC 到达方向 (DOA) 估计器
phased_RangeResponse 距离响应
phased_RectangularWaveform 矩形脉冲波形
phased_SteppedFMWaveform 阶跃调频脉冲波形
getMatchedFilter 波形的匹配滤波器系数
bandwidth 波形带宽计算
phased_RadarTarget 雷达目标
phased_FreeSpace 自由空间环境

# 2.2.7 通信工具箱

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

函数名 函数说明
genqammod 通用正交幅度调制
genqamdemod 通用正交幅度解调
modnorm 用于标准化调制输出的比例因子
pammod 脉冲幅度调制 (PAM)
pamdemod 脉冲幅度解调
qammod 正交幅度调制
qamdemod 正交幅度解调

# 2.2.8 曲线拟合工具箱

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

函数名 函数说明
plotfit 绘制 FitResult 对象
plot3fit 绘制三维 FitResult 结构体
prepareCurveData 为曲线拟合准备数据输入
prepareSurfaceData 为曲面拟合准备数据输入

# 2.2.9 统计工具箱

统计工具箱新增函数 13 个。

函数名 函数说明
normspec 具有分布拟合的直方图
mahal 样本的马氏距离
cluster 从高斯混合分布构造簇
posterior 高斯混合分量的后验概率
fitgmdist 将高斯混合模型拟合到数据
gmdistribution 创建高斯混合模型
tabulate 频数表
iqr 数据集的四分位数范围
iqr 概率分布的四分位数范围
slicesample 切片采样器
median 概率分布的中位数
mahal 到高斯混合分量的马氏距离
gscatter 分组散点图

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

函数名 函数说明
ncfstat 非中心F分布均值和方差
ncx2stat 非中心卡方分布均值和方差
mvksdensity 多变量数据的核平滑函数估计
ecdf 经验累积分布函数
cdfplot 经验累积分布函数绘图
nctstat 非中心t分布均值和方差
xcorr 互相关
xcov 互协方差
geomean 几何平均数
harmmean 调和平均数
rms 均方根值
expfit 指数参数估计
bounds 数组的最小值和最大值
vartest2 相等方差的双样本 F 检验
expinv 指数逆累积分布函数
explike 指数负对数似然
geocdf 几何累积分布函数
geostat 几何均值和方差
norminv 正态逆累积分布函数
prctile 数据集的百分位数
quantile 逆累积分布函数
chi2gof 卡方拟合优度检验
normfit 正态分布参数估计
normlike 正态负对数似然
unifit 连续均匀分布参数估计
unifstat 连续均匀分布均值和方差
gplike 广义帕累托分布负对数似然
lognlike 对数正态负对数似然
gamlike Gamma负对数似然
wbllike Weibull 负对数似然
betafit Bete 参数估计
betalike Beta 负对数似然
nbinfit 负二项分布参数估计
gevfit 广义极值分布参数估计
gpfit 广义帕累托分布参数估计
normcdf 正态累积分布函数
gamcdf Gamma累积分布函数
raylfit 瑞利参数估计
ranksum Wilcoxon 秩和检验
kstest 单样本 Kolmogorov-Smirnov 检验
poissrnd 泊松分布的随机数
mvtpdf 多元 t 概率密度函数
cholcov Cholesky 类协方差分解
skewness 偏度
mvnrnd 多元正态随机数
binostat 二项均值和方差
gamlike Gamma负对数似然
datasample 从数据中随机抽样,有或没有放回
ty_minimum 数组的最小元素 (minimum补充用法)
ty_maximum 数组的最大元素 (maximum补充用法)
evfit 极值参数估计
partialcorr 线性或秩偏相关系数
gamfit Gamma参数估计
poissfit 泊松参数估计
poisstat 泊松均值和方差
wblfit Weibull 参数估计
lognfit 对数正态参数估计
histfit 具有分布拟合的直方图

其中 chi2gof、normfit、normlike、unifit、unifstat、gplike、lognlike、gamlike、wbllike、betafit、betalike、nbinfit、nbinlike、gevfit、gpfit、normcdf、gamcdf、raylfit 为破坏性更改,删除 nargout 关键字参数并将多个结果全输出,使用新版本请考虑输出个数问题,该设计在未来版本不会发生变更。

修改建议:将原有代码中:a = chi2gof(b) 更改为 a,=chi2gof(b) 或 a=chi2gof(b)[1]

# 2.2.10 优化工具箱

优化工具箱新增函数 11 个。

函数名 函数说明
fseminf 求解半无限约束多变量非线性函数的最小值
optimwarmstart 创建热启动结构体
optimproblem 创建优化问题
optimvalues 为优化问题创建值
optimvar 创建优化变量
showvars 显示有关优化对象的信息
showbounds 显示变量边界
write 保存优化对象描述
writebounds 保存变量边界描述
@fcn2expr 将函数转换为优化表达式
evaluate 计算优化表达式

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

函数名 函数说明
fminbnd 查找单变量函数在定区间上的最小值
fmincon 寻找约束非线性多变量函数的最小值
fminsearch 使用无导数法计算无约束多变量函数的最小值
fminunc 求无约束多变量函数的最小值
fminimax 求解 minimax 约束问题
intlinprog 混合整数线性规划 (MILP)
linprog 求解线性规划问题
quadprog 二次规划
secondordercone 创建二阶锥约束
lsqlin 求解约束线性最小二乘问题
lsqcurvefit 用最小二乘求解非线性曲线拟合(数据拟合)问题
lsqnonlin 求解非线性最小二乘(非线性数据拟合)问题
fsolve 对非线性方程组求解
fzero 非线性函数的根
optimoptions 创建优化选项
optimset 创建或修改优化 options 结构体
resetoptions 重置选项
Solve 求优化问题或方程问题

优化工具箱所有功能接口均发生变化,原有代码可能无法使用,使用新版本请参照帮助文档。

# 2.2.11 符号数学工具箱

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

函数名 函数说明
polynomialDegree 多项式的次数
horner Horner 嵌套多项式表示

# 2.2.12 系统辨识工具箱

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

函数名 函数说明
iddata 在时域或频域用于系统识别的输入输出数据及其特性
detrend 移除数据的趋势
fft 时频域数据对象的快速傅里叶变换
n4sid 使用 n4sid 方法估计状态空间模型
tfest 频域数据的传递函数估计
arma 自回归移动平均模型的估计
arma_ssa 使用奇异谱分析方法估计arma模型
armax 使用伪线性回归进行模型估计
arx 使用ARX传递函数模型拟合数据
arxar 使用广义最小二乘法估计arxar模型
coherence 计算幅值-平方相干函数
estimate_x0 估计系统的初始状态
impulseest 通过拟合 n 阶 FIR 模型来估计系统脉冲响应
pem 拟合线性和非线性模型的预测误差最小化
era 特征值实现算法
okid 卡尔曼滤波观测器辨识
residuals 估计模型的残差

# 2.2.13 控制系统工具箱

控制系统工具箱新增函数 16 个。

函数名 函数说明
pid2 创建并联形式的二自由度PID控制器,转化为并联形式的二自由度PID控制器
pidstd2 创建标准形式的二自由度PID控制器,转换为标准形式的二自由度PID控制器
nblocks 广义矩阵或广义LTI模型中的块数
piddata2 访问并联形式二自由度PID控制器的系数
pidstddata2 访问标准形式二自由度PID控制器的系数
repsys 复制和平铺模型
make1DOF 将2自由度PID控制器转换为1自由度控制器
make2DOF 将1自由度PID控制器转换为2自由度控制器
modsep 基于区域的模态分解
stabsep 稳定/不稳定模态分解
freqsep 快慢模态分解
balred 模型降阶
realp 可调参数实型
genmat 可调参数的广义矩阵
genss 广义状态空间矩阵
strseq 创建索引字符向量序列

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

函数名 函数说明
bode 频率响应伯德图,或幅值和相位数据
bodemag 频率响应的仅幅值伯德图
nyquist 频率响应奈奎斯特图
nichols 尼科尔斯频率响应图
sigma 动态系统的奇异值图
margin 增益裕度,相位裕度和交叉频率
allmargin 计算系统的频率响应
bandwidth 频率响应带宽
impulse 动态系统的脉冲响应图;脉冲响应数据
initial 状态空间模型的初始条件响应
step 动态系统的阶跃响应图;阶跃响应数据
stepinfo 上升时间,调节时间,以及其他阶跃响应特性
loopshapingPID 选择pid控制器的参数(并联形式),频率ωp被移动
clyap 求解连续李亚普诺夫方程
dlyap 求解离散时间李亚普诺夫方程
icare 连续时间代数Riccati方程的隐式求解器
idare 离散时间代数Riccati方程的隐式求解器
esort 按实部对连续时间极点排序
dsort 按幅值大小对离散时间极点进行排序

# 2.2.14 鲁棒工具箱(新增)

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

函数名 函数说明
ureal 创建不确定实数
umat 创建不确定矩阵
ultidyn 创建不确定线性定常(LTI)动力学模型
uss 创建不确定状态空间(ss)模型
getNominal 不确定模型标称值
isuncertain 检查参数是否是不确定的类型
getLimits 不确定(ureal)参数的有效范围
getDGM 将增益和相位变化转换为基于磁盘的增益变化
getDPM 基于圆盘的相位变化对应于基于圆盘的增益变化
umargin 创建不确定的增益及相位模块
uscale 缩放模块的不确定度
actual2normalized 将实际值转换为标准化值
normalized2actual 将归一化坐标中原子的值转换为相应的实际值
dm2gm 从圆盘大小和偏斜中获取基于圆盘的边距
gm2dm 将基于圆盘的增益裕度转换为圆盘大小和偏斜
ucomplex 创建不确定复数
ucomplexm 创建不确定的复矩阵
diskmargin 反馈回路的盘稳定裕度
randatom 生成随机的不确定元素对象
makeweight 具有单调增益曲线的加权函数
skewdec 形成斜对称矩阵

# 2.2.15 机器学习工具箱

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

函数名 函数说明
sequentialfs 使用自定义标准进行顺序特征选择
iforest 适合异常检测的隔离林
isanomaly 使用隔离林查找数据中的异常
lof 为异常检测创建局部离群因子模型
ocsvm 拟合一类支持向量机(SVM)模型进行异常检测
robustcov 稳健的多变量协方差和均值估计
fitcnet 训练神经网络分类器
fitrnet 训练神经网络回归模型
fitrlinear 对高维数据拟合线性回归模型
invpred 逆预测
linhyptest 线性假设检验
stepwisefit 采用逐步回归方法拟合线性回归模型
fixedEffects 估计混合线性模型的固定效应系数
randomEffects 混合线性模型的随机效应
designMatrix 固定和随机效应设计矩阵
fitted 线性混合效应模型的拟合响应
covarianceParameters 提取线性混合效应模型的协方差参数
residuals 拟合的线性混合效应模型残差
canoncorr 典型相关
oobError 袋装树模型误差
fsulaplacian 使用拉普拉斯分数对无监督学习的特征进行排序
pcacov 协方差矩阵的主成分分析
pcares 主成分分析残差
ppca 概率主成分分析

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

函数名 函数说明
mahal 样本的马氏距离
view 查看分类树
confusionchart 为分类问题创建混淆矩阵图
confusionmat 计算分类问题的混淆矩阵
plotPartialDependence 创建部分依赖图(PDP)和个别条件期望图(ICE)
response 线性模型的响应向量
pca 原始数据的主成分分析

# 2.2.16 深度学习工具箱

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

函数名 函数说明
squeezenet Squeezenet卷积神经网络
densenet121 Densenet121卷积神经网络
densenet161 Densenet-161卷积神经网络
densenet201 Densenet-201卷积神经网络
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卷积神经网络
swintiny 微型swin-transformer神经网络
swinsmall 小型swin-transformer神经网络
swin Swin_transformer神经网络
swinv2 Swin_transformerv2神经网络
bert Bert神经网络
albert Albert神经网络
align Align神经网络
importONNXNetwork 导入预先训练的ONNX网络
freezeParameters 将ONNXParameters中可学习的网络参数转换为不可学习
unfreezeParameters 将ONNXParameters中不可学习的网络参数转换为可学习
addParameter 向ONNXParameters对象添加参数
removeParameter 从ONNXParameters对象中删除参数
exportONNXNetwork 将网络导出为ONNX模型格式
buildKarateClubGraph 创建无向图结构
GCN 创建图卷积网络
setEdgeFeatures 设置图结构的边特征值
setNodeFeatures 设置图结构的节点特征值
trainGraph 对输入的图结构与图神经网络模型进行训练,并返回效果最好的模型
evaluateGraph 对图神经网络进行评测
loadGraph 加载之前保存的图结构对象
loadGraphModel 加载之前保存的图神经对象
saveGraph 保存图结构对象
saveGraphModel 保存图神经网络模型

# 2.2.17 强化学习工具箱(新增)

全新发布强化学习工具箱,新增函数 39 个。

函数名 函数说明
rlQLModels 强化学习QL智能体模型
rlSARSAModels 强化学习SARSA智能体模型
rlDQNModels 强化学习DQN智能体模型
rldoubleDQNModels 强化学习doubleDQN智能体模型
rlPGModels 强化学习PG智能体模型
rlACModels 强化学习AC智能体模型
rlDDPGModels 强化学习DDPG智能体模型
rlQLAgentOptions 强化学习QL智能体选项
rlSARSAAgentOptions 强化学习SARSA智能体选项
rlDQNAgentOptions 强化学习DQN智能体选项
rldoubleDQNAgentOptions 强化学习doubleDQN智能体选项
rlPGAgentOptions 强化学习PG智能体选项
rlACAgentOptions 强化学习AC智能体选项
rlDDPGAgentOptions 强化学习DDPG智能体选项
rlQLAgent 强化学习QL智能体
rlSARSAAgent 强化学习SARSA智能体
rlDQNAgent 强化学习DQN智能体
rldoubleDQNAgent 强化学习doubleDQN智能体
rlPGAgent 强化学习PG智能体
rlACAgent 强化学习AC智能体
rlDDPGAgent 构建DDPG智能体对象
train! 智能体训练
BuildEnv 创建环境
Reset 环境重置
Step 执行
ActionDims 动作维度
ActionRange 动作范围
StateDims 状态维度
StateSize 状态形状
BuildDefaultNet 创建默认网络
BuildNetFromLayers 自网络层创建神经网络
rlTrainOptions 智能体训练选项
epsilonGreedy ε贪心探索策略
randomNoise 随机噪声探索策略
load_agent 加载智能体
save_result 保存结果
load_result 读取训练结果
plot_result 绘制训练结果
get_action 获取动作

# 2.2.18报告生成工具箱

报告生成工具箱新增函数6个。

函数名 函数说明
create_tablestyle 创建表格样式
add_tablestyle 添加表格样式
modify_cell 修改Cell对象属性
create_tblborders 创建表格边框
create_paragraphstyle 创建段落样式
add_paragraphstyle 添加段落样式

报告生成工具箱修改函数 8 个。

函数名 函数说明
create_image 创建图片
create_table 创建表格
create_cell 创建表格单元格
create_bookmark 创建书签
add_bookmark 添加书签
generate_report 生成报告
create_caption 创建题注
add_paragraph 添加段落

# 2.3 科学计算 APP

# 2.3.1 全新发布滤波器可视化 APP

滤波器可视化工具是一个能够显示和分析滤波器响应的交互式应用程序。通过此应用程序可以查看幅值响应、相位响应、群延迟响应、相位延迟响应、冲激响应、阶跃响应、零极点图以及滤波器系数,并可以通过设置分析参数以及采样频率控制对应滤波器响应的展示效果。

# 2.4 帮助文档及其他

# 2.4.1 改进帮助文档

(1).解决帮助文档首次启动慢的问题,首次启动从 6s 降到 1~2s。
(2).解决帮助文档内存占用高问题,内存占用从 1.5G 降到 390MB。
(3).帮助文档大纲新增“Syslab > Julia语言概览”、“开放系统架构”、“常见问题”等主题。

# 2.5 运行环境

Syslab 新增对鲲鹏+欧拉系统的支持,目前仅具备云化部署能力,需要专业的系统管理员部署。Syslab 支持的所有操作系统及硬件环境如下表所示:

安装包 系统名称及版本 硬件 说明
Windows 桌面版 Win 11, Win10 X86 (64bit) 个人下载安装,不支持 Win7
Linux 集群版 CentOS 7.9 集群环境 X86 (64bit) 需要由集群管理员统一安装
云化版 Ubuntu 集群服务 X86 (64bit) 公司统一部署,具体访问入口咨询运维人员
云化版 欧拉系统 V2.0SP5 ARM (64bit) 已有安装包,但尚未部署服务