# 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) | 已有安装包,但尚未部署服务 |