北太天元baltamatica_3.0.3 更新日志

标签: 软件版本更新

社区小助手 2023-11-14 18:13:11

一、Windows版

(一)功能修改

1、增加了编辑器“运行所选内容”功能的快捷键F9;

2、帮助系统改用网页浏览器展示。

(二)bug修复

1、修复内置函数报错时显示 1$ 的问题;

2、修复匿名函数参数求值错误时软件闪退的 bug;

3、修复输入a='时闪退的bug;

4、修复绘图函数surfc,meshc,meshz输入空矩阵闪退问题。

5、修复对工作区变量的值进行右键删除操作,会导致整个工作区变量被删除的bug。

(三)已知问题

1、加载dip插件会导致size函数使用出现问题,导致仿真无法运行模型文件会报错size参数过多


二、Ubuntu

(一)新增功能

1、IDE

  • 使用全新的IDE界面,快捷工具栏、工作区、编辑器、地址导航栏、文件树、命令行等功能界面焕然一新;

  • 以自动保存的机制替代手动保存,运行或关闭时会自动保存文件;

  • 新增代码节的运行节并前进、运行剩余节;

  • 新增调试模式中的步入、步出;

  • 新增编辑器文本的查找/替换;

  • 新增默认布局、经典布局和自定义布局,以及布局切换;

  • 新增帮助文档功能,点击快捷工具栏帮助文档按钮进入,或鼠标悬停函数上按F1进入对应帮助文档;

  • 新增对函数的右键help,快速查看函数help信息;

  • 新增快速查看函数定义功能,Ctrl+鼠标左键点击自定义函数名。

  • 新增编辑器“运行所选内容”功能的快捷键F9;


2、主体函数

(1)数学

  • idivide: 带有舍入选项的整除;

  • sinpi: 准确地计算 sin(X*pi);

  • asind: 反正弦(以度为单位);

  • cscd: 以度为单位的参数的余割;

  • cospi: 准确计算 cos(X*pi);

  • acosd: 反余弦(以度为单位);

  • tand: 以度表示的参数的正切;

  • atand: 反正切(以度为单位);

  • atan2d: 四象限反正切(以度为单位);

  • acscd: 反余割(以度为单位);

  • secd: 参数的正割,以度为单位;

  • asecd: 反正割(以度为单位);

  • cotd: 以度为单位的参数的余切;

  • acotd: 反余切(以度为单位);

  • hypot: 平方和的平方根(斜边);

  • cart2pol: 将笛卡尔坐标转换为极坐标或柱坐标;

  • cart2sph: 将笛卡尔坐标转换为球面坐标;

  • pol2cart: 将极坐标或柱坐标转换为笛卡尔坐标;

  • sph2cart: 将球面坐标转换为笛卡尔坐标;

  • nthroot: 实数的第 n 次实根;

  • cplxpair: 将复数排序为复共轭对组;

  • unwrap: 平移相位角;

  • factor: 质因数;

  • factorial: 输入的阶乘;

  • gcd: 最大公约数;

  • isprime: 确定哪些数组元素为质数;

  • lcm: 最小公倍数;

  • nchoosek: 二项式系数或所有组合;

  • perms: 所有可能的排列;

  • primes: 小于等于输入值的质数;

  • rat: 有理分式近似值;

  • rats: 有理输出;

  • poly: 具有指定根的多项式或特征多项式;

  • polyeig: 多项式特征值问题;

  • polyvalm: 矩阵多项式计算;

  • polyder: 多项式微分;

  • mkpp: 生成分段多项式;

  • compan: 伴随矩阵;

  • hadamard: Hadamard 矩阵;

  • hankel: Hankel 矩阵;

  • hilb: Hilbert 矩阵;

  • invhilb: Hilbert 矩阵的逆矩阵;

  • pascal: 帕斯卡矩阵;

  • rosser: 典型对称特征值测试问题;

  • toeplitz: 托普利茨矩阵;

  • vander: Vandermonde 矩阵;

  • wilkinson: Wilkinson 的特征值测试矩阵;

  • linsolve: 对线性方程组求解;

  • rsf2csf: 将实数 Schur 形式转换为复数 Schur 形式;

  • planerot: Givens 平面旋转;

  • bandwidth: 矩阵的上下带宽;

  • normest: 2-范数估值;

  • condeig: 与特征值有关的条件数;

  • orth: 适用于矩阵范围的标准正交基;

  • subspace: 两个子空间之间的角度。


(2)语言基础知识

  • sortrows: 对矩阵行或表行进行排序;

  • isrow: 确定输入是否为行向量;

  • iscolumn: 确定输入是否为列向量;

  • ndims: 数组维度数目;

  • intersect: 设置两个数组的交集;

  • fliplr:将数组从左向右翻转;

  • flipud:将数组从上向下翻转;

  • typecast:在不更改基础数据的情况下转换数据类型。


(3)绘图

  • mesh:网格曲面图;

  • meshc:网格曲面图下的等高线图;

  • meshz:带帷幕的网格曲面图;

  • surface:基本曲面图;

  • axis:设置坐标轴范围和纵横比;

  • view:相机视线;

  • xlim:设置或查询 x 坐标轴范围;

  • ylim:设置或查询 y 坐标轴范围;

  • zlim:设置或查询 z 坐标轴范围;

  • box:显示坐标区轮廓;

  • grid:显示或隐藏坐标区网格线;

  • cla:清除坐标区;

  • axes:创建笛卡尔坐标区;

  • colormap:查看并设置当前颜色图。


(4)其他

  • manual: 在命令行窗口展示帮助信息。

3、工具箱

(1)优化工具箱

  • fsolve:对非线性方程组求解;

  • lsqcurvefit:用最小二乘求解非线性曲线拟合(数据拟合)问题;

  • fmincon:寻找约束非线性多变量函数的最小值;

  • fseminf:求解半无限约束多变量非线性函数的最小值;

  • fminimax:求解minmax约束问题;

  • fminsearch:使用无导数法计算无约束的多变量函数的最小值;

  • fgoalattain:求解涉及多目标的目标达成问题。

(2)图像处理工具箱

  • dip::figure:创建图形窗口;

  • dip::title:设置标题;

  • dip::size:获取图像大小(使用 size);

  • dip::close:关闭图形窗口;

  • imshow:显示图像;

  • imread:从图像文件读取图像;

  • imwrite:将图像写入图像文件;

  • imfinfo:图像文件的信息;

  • gray2ind:将灰度或二值图像转换为索引图像;

  • ind2gray:将索引图像转换为灰度图像;

  • cmap2gray:将 RGB 颜色表转换为灰度颜色表;

  • imquantize:使用指定的量化级别和输出值量化图像;

  • imfilter:对图像进行滤波;

  • fspecial:创建预定义的二维滤波器;

  • medfilt2:2 维中值滤波;

  • imgaussfilt:高斯滤波;

  • wiener2:2 维 Wiener 滤波;

  • stdfilt:标准差滤波;

  • entropyfilt:局部熵滤波;

  • imboxfilt2:2 维框滤波;

  • modefilt:模式滤波;

  • ordfilt2:2 维顺序统计量滤波;

  • rangefilt:局部范围滤波;

  • rescale:缩放数据范围;

  • integralImage:积分图;

  • integralBoxFilter:积分图 2 维框滤波;

  • imnoise:向图像添加噪声;

  • imabsdiff:图像的绝对差;

  • imadd:图像的加运算;

  • imapplymatrix:颜色通道的线性组合;

  • imcomplement:图像求补;

  • imdivide:图像的除运算;

  • imlincomb:图像的线性运算;

  • immultiply:图像的乘运算;

  • imsubtract:图像的减运算;

  • padarray:填充数组;

  • imcrop:裁剪图像;

  • imresize:调整图像大小;

  • imrotate:旋转图像;

  • imtranslate:平移图像;

  • impyramid:图像金字塔缩放图像;

  • affinetform2d:2 维仿射几何变换;

  • rigidtform2d:2 维刚性几何变换;

  • simtform2d:2 维相似几何变换;

  • transltform2d:2 维平移几何变换;

  • projtform2d:2 维投影几何变换;

  • fitgeotform2d:根据控制点对拟合二维几何变换;

  • randomAffine2d:创建随机 2 维仿射变换;

  • imwarp:对图像应用几何变换;

  • transformPointsForward:应用正向几何变换;

  • transformPointsInverse:应用逆几何变换;

  • imref2d:将二维图像参考到世界坐标;

  • detectORBFeatures:检测 ORB 关键点;

  • extractFeatures:提取感兴趣点的描述符(特征);

  • matchFeatures:特征匹配;

  • selectStrongest:选择得分最高的部分关键点;

  • markORBPoints:在图像中标记 ORB 关键点;

  • ORBPoints:ORB 关键点;

  • imfuse:将 2 幅图像合成;

  • imshowpair:将 2 幅图像合成显示;

  • checkerboard:创建棋盘图像;

  • imbinarize:通过阈值化将灰度图像二值化;

  • im2int8:将图像转换为 8 位有符号整数;

  • im2uint8:将图像转换为 8 位无符号整数;

  • im2single:将图像转换为单精度;

  • im2double:将图像转换为双精度值;

  • im2int16:将图像转换为 16 位有符号整数;

  • im2uint16:将图像转换为 16 位无符号整数;

  • dipmat2bxmat:将工具箱多维数组转换为北太天元多维数组;

  • bxmat2dipmat:将北太天元多维数组转换为工具箱多维数组;

  • im2gray:将 RGB 图像转换为灰度图像;

  • mat2gray:将矩阵转换为灰度图像;

  • lab2uint8:将 L*a*b*颜色值转换为 8 位无符号整数;

  • lab2uint16:将 L*a*b*颜色值转换为 16 位无符号整数;

  • lab2double:将 L*a*b*颜色值转换为双精度值;

  • xyz2uint16:将 XYZ 颜色值转换为 16 位无符号整数;

  • xyz2double:将 XYZ 颜色值转换为双精度值;

  • rgb2xyz:将 RGB 转换为 CIE 1931 XYZ;

  • xyz2rgb:将 CIE 1931 XYZ 转换为 RGB;

  • rgb2cmy:将 RGB 转换为 CMY;

  • cmy2rgb:将 CMY 转换为 RGB

  • rgb2ntsc:将 RGB 转换为 NTSC;

  • ntsc2rgb:将 NTSC 转换为 RGB;

  • rgb2ycbcr:将 RGB 转换为 YCbCr;

  • ycbcr2rgb:将 YCbCr 转换为 RGB;

  • rgb2hsv:将 RGB 转换为 HSV;

  • hsv2rgb:将 HSV 转换为 RGB;

  • rgb2hsi:将 RGB 转换为 HSI;

  • hsi2rgb:将 HSI 转换为 RGB;

  • rgb2gray:将 RGB 图像(颜色表)转换为灰度图像(颜色表);

  • rgb2lab:将 RGB 转换为 CIE 1976 L*a*b*;

  • lab2rgb:将 CIE 1976 L*a*b*转换为 RGB;

  • xyz2lab:将 CIE 1931 XYZ 转换为 CIE 1976 L*a*b*;

  • lab2xyz:将 CIE 1976 L*a*b*转换为 CIE 1931 XYZ;

  • imsplit:将多通道图像拆分为各个通道;

  • immerge:将各个通道合并为多通道图像;

  • jet:Jet 颜色表;

  • spring:spring 颜色表;

  • summer:summer 颜色表;

  • autumn:autumn 颜色表;

  • winter:winter 颜色表;

  • gray:gray 颜色表;

  • hsv:HSV 颜色表;

  • label2rgb:将 label 矩阵转换为 RGB 图像;

  • otsuthresh:使用 Otsu 方法的全局直方图阈值;

  • labeloverlay:在 2 维图像上叠加标签矩阵区域;

  • imadjust:调整图像亮度值或颜色表;

  • stretchlim:查找图像对比度拉伸的限值;

  • histeq:直方图均衡;

  • imhistmatch:直方图匹配;

  • imlocalbrighten:低光图像增强;

  • adapthisteq:自适应直方图均衡;

  • imhist:图像直方图;

  • imsharpen:使用非锐化模板锐化图像;

  • intlut:使用查找表转换为整数值;

  • imerode:腐蚀;

  • imdilate:膨胀;

  • imclose:闭运算;

  • imopen:开运算;

  • imtophat:顶帽滤波;

  • imbothat:底帽滤波;

  • bwperim:确定二值图像中对象的边界;

  • imfill:填充;

  • bwhitmiss:二值击中击不中;

  • imclearborder:去除图像边界;

  • conndef:创建连通矩阵;

  • strel:形态学结构元;

  • iptcheckconn:检查连通性参数的有效性;

  • bwlookup:基于查找表的非线性滤波;

  • bwmorph:二值图像形态学运算;

  • bwconncomp:查找二值图像中的连通分量并对其计数;

  • labelmatrix:由 bwconncomp 结构创建 label 矩阵;

  • bwareaopen:删除二值图像中的小目标;

  • grayconnected:确定相似灰度区域;

  • edge:边缘提取;

  • imgradient:梯度幅值和方向;

  • imgradientxy:梯度;

  • adaptthresh:使用局部一阶统计量的自适应图像阈值;

  • graythresh:使用 Otsu 方法计算全局图像阈值;

  • multithresh:使用 Otsu 方法计算多级图像阈值。

4、北太真元多域动态系统建模仿真平台

(1)求解器

离散求解器

discrete solver

变步长求解器

ode23、ode78、ode89、ode113、ode45

定步长求解器

ode1、ode2、ode3、ode4、ode5

(2)模块库

基础模块
discontinuous
  • deadzone: 死区模块;

  • quantizer: 量化模块;

  • saturation: 饱和限制模块;

  • viscousFriction: 摩擦模块。

discretes
  • delay:时延模块;

  • difference:差分模块;

  • discreteFilter:离散IIR滤波器模块;

  • discreteFIR:离散FIR滤波器模块;

  • discreteIntegrator:离散积分模块;

  • discreteStateSpce:离散状态空间模块;

  • discreteTransferFunc:离散传递函数模块;

  • discreteZeroPole:离散零极点模块;

  • memory:时延模块;

  • unitDelay:单位时延模块;

  • ZOH:零阶采样保持模块。

Inputs
  • fromFilecsv:导入csv文件数据;

  • fromFileExcel:导入excel文件数据;

  • fromFileTxt:导入txt文件数据;

  • fromFileMat:导入mat文件数据;

  • fromWorkspace:导入天元工作区数据;

  • ramp:产生斜坡信号;

  • Inf:输出Inf;

  • NaN:输出NaN;

  • e:输出自然对数底数e;

  • PI;输出圆周率。

logicOpearations
  • compareToConst:与指定常数比较大小;

  • compareToZero:与零比较大小。

maths
  • elementsSum:累加模块;

  • elementsProduct:累乘模块;

  • subtract:加减运算模块;

  • sqrt:求平方根模块;

  • signedSqrt:求有符号平方根模块;

  • reciprocalSqrt:请平方根倒数模块。

outputs
  • out:模型计算结果导出到天元工作区;

  • terminator:用于未连接的输出端口;

  • toFileCsv:模型计算结果导出到csv文件;

  • toFileExcel:模型计算结果导出到excel文件;

  • toFileMat:模型计算结果导出到mat文件;

  • toFileTxt:模型计算结果导出到txt文件;

  • toWorkspace:模型计算结果导出到天元工作区;

  • XYgraph:数据可视化。

(3)函数功能

  • mathFunc模块支持sin、cos、tan、asin、acos、atan、atan2函数。

(4)产品功能

IDE界面
  • 全新ui界面(参数设置模块和模块信息整合,求解器选择布局更新)

  • 连线拖拽算法;

  • 模块库显示以及滚动交互;

  • 版本信息页;

  • 问题反馈页;

功能优化
  • 参数依赖联动渲染功能;

  • 模块壁障算法;

  • 优化了保存机制;

帮助文档
  • 北太真元快速入门;

  • 计算单元;

  • 求解器;

  • 模型库。

模型库
  • 航空航天(5个);

  • 控制系统(5个);

  • 船舶(5个);

  • 汽车(5个)。

(5)Bug 修复

(6)已知问题

  • 天元和真元信息未分流,执行脚本过程中的error信息只能在天元命令行窗口打印出来,无法在真元界面显示。具体包括:

    i.使用4类fromFile和fromWorkspace时,关于数据不合法检测的错误提示信息。

(二)优化功能

1、IDE

  • 优化调试逻辑,退出调试时不再执行剩余未调试的代码,加入重新调试功能;

  • 修复单行注释与多行注释嵌套使用的bug;

  • 优化查找功能,可同时搜索变量、编辑器文本;

  • 优化代码高亮,函数等类型加入高亮;

  • 优化代码缩进,如代码嵌套层次缩进、字符串换行等;

  • 优化自动补全,将自定义变量加入补全候选;

  • 替换鼠标悬停在函数上按F1功能,将悬浮help窗口替换为在帮助文档中显示该函数;

  • 优化管理和设置,将插件管理、字体设置、颜色设置移入设置页面中;

  • 优化插件管理,新增插件信息展示,使用更友好的加载/卸载交互方式;

  • 优化字体设置,重新设计了字体设置界面,增加了字体预览,合并简化了字体设置对象;

  • 优化颜色设置,重新设计了颜色设置界面,提供了两款预设配色方案,合并简化了颜色设置对象;

  • 使用全新的系统文件管理界面,优化了文件打开、导入、导出、保存等逻辑和体验;

  • 优化快捷工具栏布局,增加快捷工具栏功能按钮;

  • 优化当前活动路径布局,及其与地址导航栏的联动逻辑;

  • 优化问题反馈页面,对反馈的问题进行分类,并支持上传图片、社区帮助等;

  • 优化地址导航栏的展示逻辑,以列表替换树形结构。

2、命令行界面(CLI)

  • 修复在字符界面运行大规模 for 循环等命令软件会死机的问题;

  • windows 字符前端显示警告文本使用黄色字体,显示错误文本使用红色字体。

3、内核

(1)功能增强

  • 大幅度提高 for i = a 类型循环遍历效率,for i = a 现在会遍历 a 的列向量而不是遍历全体元素;小幅度提高 for i = 1:n 遍历效率。

(2)Bug修复

  • 修复内置函数报错时显示 1$ 的问题;

  • 修复匿名函数参数求值错误时软件闪退的 bug;

  • 修复输入a='时闪退的bug;

  • 修复绘图函数surfc,meshc,meshz输入空矩阵闪退问题。

  • 修复了使用错误方式调用函数时,返回报错信息包含 $1:$2

  • 修复了eig函数在输入为稠密矩阵,输出只有一个变量时计算错误的问题

  • 修复 some.title = "a"; size(some.title) 解析出错的问题;

  • 修复调试模式和运行报错时会出现 std::bad_alloc 的问题;

  • 修复 a.(b).c 在脚本中不能正常执行,找不到字段的问题;

  • 修复某些情况下脚本执行 for 循环,变量会在外部工作空间生成的问题;

  • 修复了如 a.b.c = 1 初始化嵌套结构体错误误报的问题;

  • 修复报错显示逻辑,使用 error 函数报错,直接显示错误内容;

  • 其他一些显示逻辑的修正。

4、主体函数

(1)功能增强

  • 增强 warning 函数功能,警告文字以黄色字体显示,同时支持 warning('off') 这样的用法将警告关闭。

  • 新增isa函数对稀疏矩阵的判断;

  • 新增一元函数对多维数组的支持;

  • 新增numel函数对高维数组的支持;

  • 新增ind2sub函数对高维数组的支持;

  • 新增sub2ind函数对高维数组的支持;

  • 支持高维数组取下标,赋值、读取、删除等操作;

  • 提高eig函数在对称矩阵输入下的运行效率;

  • 提高svd函数的运行效率。

  • 绘图:设置图形属性时,属性名称大小写不敏感。

(2)Bug修复

  • round:修复函数求值错误;

  • sort:修复对NaN元素的处理存在问题;

  • diag:修复了diag处理 0xn 类型矩阵的时候会闪退的bug;

  • speye:修复了speye 输入参数有负值的情况下会闪退的问题;

  • ind2sub: 修复了输出类型错误的问题;

  • sub2ind: 修复了输出类型错误的问题。

5、工具箱

(1)优化工具箱

  • linprog:求解线性规划问题;

  • intlinprog:混合整数线性规划(MILP);

  • quadprog:二次规划。

(2)曲线拟合工具箱

  • 对已有的10个函数 csapi、csape、ppmak、bspline、spapi、spmak、fnval、fnder、fn2fm、fnbrk 进行了重构,增加函数使用稳定性,减小闪退的机率。

(三)已知问题

问题1:

系统默认字体为思源黑体CN Regular,若用户端电脑未安装思源黑体,则无法拥有最优视觉体验。临时解决方案:用户端如遇以上情况,则默认显示为其他用户端系统支持的字体,不影响阅读及功能使用。



2149 0 1 收藏 回复

回复

回复

重置 提交