注:大赛版仅支持数模国赛期间(截至9月底)下载使用【安装包获取】 baltamatica_3.7.0_win_x86_64.exe baltamatica_3.7.0_ubuntu20.04_amd64.deb 【新增功能】1、新增机器学习工具箱,共计20个函数,覆盖分类、回归、聚类、降维等学习任务。以下为更新函数清单:函数名函数说明cluster从聚类树构建聚集簇clusterdata从数据构建聚集簇cophenet共现相关系数inconsistent非一致性系数linkage聚集层次聚类树pdist成对观测值之间的两两距离kmeansk 均值聚类kmedoidsk-中心点聚类dbscanDBSCAN(基于密度的含噪数据空间聚类)createns构建最近邻搜索对象knnsearch使用最近邻搜索对象或直接使用数据搜索k个最近邻pdist2两组观测值之间的两两距离dendrogram绘制层次聚类树状图optimalleaforder层次聚类的最优叶子排序manovacluster绘制多元方差分析后的树状图silhouette绘制聚类轮廓图pca原始数据的主成分分析pcacov对协方差矩阵的主成分分析pcares主成分分析的残差ppca概率主成分分析2、修复部分绘图和内置函数。
baltamatica_999_3.6.1_dev1【安装包获取】版本芯片操作系统安装形式baltamatica_999-3.6.1-dev1_aarch64.tar.xzarmLinux通用绿色版baltamatica_999-3.6.1-dev1_Linux_aarch64.debarmLinux通用安装包baltamatica_999-3.6.1-dev1_win_x86_64.exex86_64Windows安装包baltamatica_999-3.6.1-dev1_amd64.tar.xzx86_64Linux通用绿色版baltamatica_999-3.6.1-dev1_Linux_amd64.debx86_64Linux通用安装包baltamatica-999.3.6.1.dev1-1.el7.x86_64.rpmx86_64centos安装包baltamatica-999.3.6.1.dev1-1-x86_64.pkg.tar.zstx86_64archlinux安装包baltamatica_999-3.6.1-dev1_uos20_loongarch64.debloongarch64统信安装包【更新内容】本开发者预览版基于正式版 v3.6.1,除 v3.6.1 正式版与预览版 v3.6.1-dev0 的内容外,还包含以下的更新:一、新功能表格类型的变量增加使用圆点运算符修改列数据的支持。例如
T = table(randn(3)); T.(1) % 返回第 1 列 T.(1) = randn(3,1) % 设置第 1 列字符前端在启动信息中会显示当前北太天元版本号datetime duration calendarDuration 支持加减运算二、新增内置函数native2unicode unicode2native:本地编码和 Unicode 之间相互转化namedargs2cell:Name-Value 参数转化为元胞类型m2xdate x2mdate:北太天元 datetime 与 Excel 时间的转化三、内置函数优化input:支持input(prompt, 's')的用法,即将输入解释为字符;屏蔽求值的中间输出;prompt 支持换行符;在非交互模式下会报错“当前模式不支持”,而不是无限进行等待spalloc:优化实现any all num2cell:增加对高维和稀疏矩阵的支持fgets fgetl 函数:添加 `help` 文档repmat:优化实现,提高效率vecnorm:支持稀疏矩阵并提高效率四、BUG 修复修复在部分 Linux 系统中软件因 OpenGL 依赖错误而无法启动图形界面的问题修复fun (x)被错误判断为命令语法的问题(函数名和参数之间有空格)修复otherwise 中只有一条语句时,无输出参数函数调用(例如 disp(x);)的输出个数会被判断成 1 的问题修复sparse 函数对logical 类型输入处理错误的问题修复isfinite 函数对整数数组的处理修复 unique函数在rows 模式下没有正确处理NaN行的问题修复randi randperm 处理整数溢出的问题修复istriu istril 函数调用会闪退的问题五、已知问题在统信 UOS 等国产系统中,系统的安全策略可能会阻止程序运行,需要在系统安全设置中允许任意应用运行,详见 https://faq.uniontech.com/desktop/app/2eb3在使用非 debian 系列系统(如 redhat、fedora、centos、archlinux)运行软件时,软件部分功能可能会因为安装目录权限问题而无法正常使用,例如北太真元无法打开 .bt 文件。可将安装目录权限设置为使用者临时解决此问题。例如 chown -R user:user /opt/Baltamatica北太天元软件在分辨率过低的桌面(宽小于 1200,高小于 800)界面可能会显示不完整,该问题正解决中
baltamatica_999_3.6.1_dev0【安装包获取】版本芯片操作系统安装形式baltamatica_999-3.6.1-dev0_aarch64.tar.xzarmLinux通用绿色版baltamatica_999-3.6.1-dev0_Linux_aarch64.debarmLinux通用安装包baltamatica_999-3.6.1-dev0_win_x86_64.exex86_64Windows安装包baltamatica_999-3.6.1-dev0_amd64.tar.xzx86_64Linux通用绿色版baltamatica-999.3.6.1.dev0-1.x86_64.rpmx86_64Linux通用安装包baltamatica_999-3.6.1-dev0_Linux_amd64.debx86_64Linux通用安装包baltamatica-999.3.6.1.dev0-1-x86_64.pkg.tar.zstx86_64archlinux安装包baltamatica_999-3.6.1-dev0_uos20_loongarch64.debloongarch64统信安装包【更新内容】本开发者预览版基于正式版 v3.6.1,除 v3.6.1 正式版的内容外,还包含以下的更新:一、新功能表格类型的变量增加使用圆点运算符读取列数据的支持。例如
T = table(randn(3)); T.(1) % 返回第 1 列 T.Var1 % 返回名称为 Var1 的列曲线拟合插件添加用户文档1、新增内置函数yyyymmdd:转化为 YYYYMMDD 数值exceltime:转化为 Excel 日期数字posixtime:转化为 POSIX 时间juliandate:转化为儒略日期2、内置函数优化reshape`` 函数支持日期时间、持续时间、日历持续时间数组circshift`` 函数支持高维数组、支持日期时间、持续时间、日历持续时间数组二、BUG 修复修复花括号索引不加参数时软件会闪退的问题,如a{}修复内置函数sparse(i, j ,v)无法生成逻辑类型稀疏矩阵的问题修复内置函数between判断维度兼容的逻辑三、已知问题在统信 UOS 等国产系统中,系统的安全策略可能会阻止程序运行,需要在系统安全设置中允许任意应用运行,详见 https://faq.uniontech.com/desktop/app/2eb3在使用非 debian 系列系统(如 redhat、fedora、centos、archlinux)运行软件时,软件部分功能可能会因为安装目录权限问题而无法正常使用,例如北太真元无法打开 .bt 文件。可将安装目录权限设置为使用者临时解决此问题。例如 chown -R user:user /opt/Baltamatica北太天元软件在分辨率过低的桌面(宽小于 1200,高小于 800)界面可能会显示不完整,该问题正解决中在使用非 debian 系列系统(如 redhat、fedora、centos、archlinux)运行软件时,软件部分功能可能会因为安装目录权限问题而无法正常使用,例如北太真元无法打开 .bt 文件。可将安装目录权限设置为使用者临时解决此问题。例如 `chown -R user:user /opt/Baltamatica`北太天元软件在分辨率过低的桌面(宽小于 1200,高小于 800)界面可能会显示不完整,该问题正解决中
卢朓老师《数值方法:原理、算法及应用》课堂 学生大作业~供大家参考学习~相关代码和结果如下:%The accuracy of the SVM model is 81.11%修改之后的代码可以在北太天元上运行, 所有的代码如下:
load_plugin("optimization"); % 导入数据 data = readmatrix('heart disease.csv'); % 检查并处理缺失值 if any(any(ismissing(data))) data = rmmissing(data); end % 分离特征和标签 X = data(:,1:end-1); y = data(:,end); % 主成分分析降维 [coeff,score,latent] = pca(X); X_pca = score(:,1:2); % 划分训练集和测试集 cv = my_cvpartition(size(X_pca,1),'HoldOut',0.3); idx = cv.test; train_idx = setdiff(1: size(X_pca,1), idx); X_train = X_pca(train_idx,:); Y_train = y(train_idx,:); X_test = X_pca(idx,:); Y_test = y(idx,:); % 训练SVM模型 C = 1e2; % 设置较大的C值以确保硬间隔分类(对于线性可分数据) SVMModel = my_fitcecoc(X_train,Y_train,C); % 预测测试集 [label,score] = predict(SVMModel,X_test); % 计算准确率 accuracy = sum(label-1 == Y_test) / length(Y_test); % 可视化 gscatter(X_pca(:,1),X_pca(:,2),y); hold on; % 绘制决策边界c d = 0.15; [x1Grid,x2Grid] = meshgrid(min(X_pca(:,1)):d:max(X_pca(:,1)),... min(X_pca(:,2)):d:max(X_pca(:,2))); xGrid = [x1Grid(:),x2Grid(:)]; [~,scores] = predict(SVMModel,xGrid); contour(x1Grid,x2Grid,reshape(scores(:,2),size(x1Grid)),[0 0],'k'); % 输出准确率 fprintf('The accuracy of the SVM model is %.2f%%\n', accuracy * 100); hold off; function [coeff, score, latent] = pca(X) % X: 数据矩阵,每一列是一个特征,每一行是一个样本 % coeff: 主成分系数 % score: 表示主成分得分 % latent: 主成分对应的特征值 % 标准化数据(均值为0,方差为1) X = (X - mean(X)) ./ std(X); % 计算协方差矩阵 CovMat = cov(X); % 对协方差矩阵进行特征值分解 [V, D] = eig(CovMat); % 将特征值按降序排序,并获取对应的特征向量 [latent, order] = sort(diag(D), 'descend'); coeff = V(:, order); % 计算主成分得分 score = X * coeff; end function cv = my_cvpartition(n, method, param) % n: 总样本数 % method: 分区方法,目前仅支持 'HoldOut' % param: 分区方法的参数,对于 'HoldOut',该参数为留出的比例 % 初始化输出结构体 cv = struct('train', [], 'test', []); if strcmp(method, 'HoldOut') % 生成一个从 1 到 n 的整数数组 idx = 1:n; % 随机打乱 idx 数组 idx = idx(randperm(n)); % 计算留出样本的数量 numHoldOut = floor(n * param); % 分配训练和测试索引 cv.test = idx(1:numHoldOut); cv.train = idx(numHoldOut+1:end); else error('Unsupported partition method.'); end end function SVMModel = my_fitcecoc(X_train, Y_train, C) % X_train: 特征矩阵 (n x d),其中 n 是样本数,d 是特征维度 % Y_train: 标签向量 (n x 1) % C: 正则化参数,控制对错分样本的惩罚程度 % 获取类别数量 uniqueClasses = unique(Y_train); numClasses = length(uniqueClasses); % 初始化 SVM 模型结构体数组 SVMModel = struct('Classifiers', cell(numClasses*(numClasses-1)/2, 1), ... 'ClassPairs', []); % 训练一对一 SVM 分类器 classifierIndex = 1; for i = 1:numClasses for j = (i+1):numClasses % 提取当前类别对的训练数据 classI = Y_train == uniqueClasses(i); classJ = Y_train == uniqueClasses(j); X_train_ij = [X_train(classI, :); X_train(classJ, :)]; Y_train_ij = [ones(sum(classI), 1); -1*ones(sum(classJ), 1)]; % 训练 SVM 分类器 SVMModel.Classifiers{classifierIndex} = my_fitcsvm_soft(X_train_ij, Y_train_ij, C); % 记录当前分类器对应的类别对 SVMModel.ClassPairs(classifierIndex, :) = [uniqueClasses(i), uniqueClasses(j)]; classifierIndex = classifierIndex + 1; end end end function [wb] = my_fitcsvm(X, Y) % X: 特征矩阵 (n x d),其中 n 是样本数,d 是特征维度 % Y: 标签向量 (n x 1),取值为 +1 或 -1 load_plugin("optimization"); % 假设X和Y已经定义,如之前的示例 N = size(X, 1); % 数据点的数量 D = size(X,2); % 数据的维度 % 将w和b组合成一个向量,以便使用quadprog % 注意:这里我们将w放在前面,b放在最后 p = rand(D + 1, 1); % 初始猜测解(通常设为0) Aeq = []; % 没有等式约束 beq = []; % 构造二次规划的目标函数和线性不等式约束 H = eye(D+1); % Hessian矩阵(目标函数的二次项系数) f = zeros(D+1,1); % 目标函数的一次项系数(对于SVM原始问题,通常为负) % 线性不等式约束 Ax <= b % 对于每个数据点 (x_i, y_i),我们有 y_i * (w' * x_i + b) >= 1 A = [-Y.*X, -Y]; % 不等式约束的系数矩阵 b = -ones(N, 1); % 不等式约束的右侧向量 % 使用quadprog求解二次规划问题 options = optimoptions('quadprog','Algorithm','interior-point'); [w_b, fval, exitflag, output] = quadprog(H, f, A, b, Aeq, beq, [], [], p, options); % 分离出w和b w = w_b(1:D); b = w_b(D+1); wb = struct('w',w,'b',b); end function [wb] = my_fitcsvm_soft(X, Y, C) % X: 特征矩阵 (n x d),其中 n 是样本数,d 是特征维度 % Y: 标签向量 (n x 1),取值为 +1 或 -1 % C: 正则化参数,控制对错分样本的惩罚程度 % 假设X和Y已经定义,如之前的示例 N = size(X, 1); % 数据点的数量 D = size(X, 2); % 数据的维度 % 初始化松弛变量(slack variables) xi = zeros(N, 1); % 将w和b以及松弛变量组合成一个向量,以便使用quadprog p = zeros(D + 1 + N, 1); % 初始猜测解 % 构造二次规划的目标函数和线性不等式约束 H = [diag( [ones(1,D),0] ), zeros(D+1, N); zeros(N, D+1), zeros(N,N)]; % Hessian矩阵 f = [zeros(D+1, 1); C*ones(N, 1)]; % 目标函数的一次项系数 % 线性不等式约束 Ax <= b % 对于每个数据点 (x_i, y_i),我们有 y_i * (w' * x_i + b) >= 1 - xi_i A = [-Y.*X, -Y, diag( -ones(1,N) )]; % 不等式约束的系数矩阵 b = -ones(N, 1); % 不等式约束的右侧向量 Aeq = []; % 没有等式约束 beq = []; lb = [ -inf*ones(D+1,1); zeros(N,1)]; ub = inf*ones(D+1+N,1); % 使用quadprog求解二次规划问题 options = optimoptions('quadprog','Algorithm','interior-point'); [w_b_xi, fval, exitflag, output] = quadprog(H, f, A, b, Aeq, beq, lb, ub, p, options) % 分离出w, b和xi w = w_b_xi(1:D); b = w_b_xi(D+1); xi = w_b_xi(D+2:end); % 构造并返回结构体wb,包含w和b wb = struct('w', w, 'b', b); end function [label, score] = predict(SVMModel, X_test) % SVMModel: 训练好的多类SVM模型,由my_fitcecoc函数返回 % X_test: 测试集特征数据 % label: 预测的类别标签 % score: 预测的得分(可选,这里简化为投票得分) % 初始化预测标签和得分 [numTest, ~] = size(X_test); numClasses = length(SVMModel.Classifiers); label = zeros(numTest, 1); score = zeros(numTest, numClasses); % 对每个测试样本进行预测 for i = 1:numTest sample = X_test(i, :); votes = zeros(1, numClasses+1); % 使用每个SVM分类器进行预测,并进行投票 for j = 1:numClasses svmModel = SVMModel.Classifiers{j}; [~, ~, ~, output] = predictOneVsAll(svmModel, sample); if output == 1 classIdx1 = SVMModel.ClassPairs(j, 1)+1; votes(classIdx1) = votes(classIdx1) + 1; else classIdx2 = SVMModel.ClassPairs(j, 2)+1; votes(classIdx2) = votes(classIdx2) + 1; end end % 找到得票最多的类别作为预测标签 [~, maxVoteIdx] = max(votes); label(i) = maxVoteIdx; score(i, maxVoteIdx) = votes(maxVoteIdx); % 将最高票数作为得分 end end function [predictedLabel, predictedScore, decisionValues, output] = predictOneVsAll(svmModel, sample) % 使用单个SVM模型进行预测 % 这里简化为直接计算决策函数的值,实际应用中可能需要更复杂的处理 w = svmModel.w; b = svmModel.b; decisionValues = dot(w, sample) + b; if decisionValues >= 0 predictedLabel = 1; % 属于正类 else predictedLabel = -1; % 属于负类 end predictedScore = abs(decisionValues); % 决策函数的绝对值作为得分 output = predictedLabel; % 用于投票的输出 end---软间隔SVM通过引入松弛变量(slack variables)$\xi_i$来允许一些样本被错误分类,从而处理非线性可分的数据。这些松弛变量衡量了每个样本违反约束条件的程度。软间隔SVM的优化问题可以写成以下形式:
$$\min_{\mathbf{w}, b, \xi} \frac{1}{2} ||\mathbf{w}||^2 + C \sum_{i=1}^{m} \xi_i$$约束条件为:
$$y_i(\mathbf{w}^T \mathbf{x}_i + b) \geq 1 - \xi_i, \quad i = 1, \ldots, m$$ $$\xi_i \geq 0, \quad i = 1, \ldots, m$$其中,$\mathbf{w}$是权重向量,$b$是偏置项,$C$是一个正则化参数,用于控制对错分样本的惩罚程度。$\xi_i$是第$i$个样本的松弛变量。这个优化问题仍然是一个二次规划问题,但目标函数和约束条件都包含了松弛变量。当数据不是完全线性可分时,通过允许一些样本被错误分类(即$\xi_i > 0$),优化问题可以找到一个更好的分类超平面。现在,我们来解释如何克服可行域为空集的问题。在硬间隔SVM(即不允许任何错误分类的SVM)中,如果数据不是线性可分的,那么约束条件$y_i(\mathbf{w}^T \mathbf{x}_i + b) \geq 1$对于所有样本可能都无法同时满足,导致可行域为空集。然而,在软间隔SVM中,由于引入了松弛变量$\xi_i$,约束条件变为了$y_i(\mathbf{w}^T \mathbf{x}_i + b) \geq 1 - \xi_i$。这意味着即使某些样本不能满足原始的硬间隔约束(即$y_i(\mathbf{w}^T \mathbf{x}_i + b) \geq 1$),但只要它们满足新的软间隔约束(即$y_i(\mathbf{w}^T \mathbf{x}_i + b) \geq 1 - \xi_i$),并且松弛变量$\xi_i$足够小,那么这些样本就不会对优化问题的解产生太大的影响。因此,通过引入松弛变量和软间隔约束,软间隔SVM能够处理非线性可分的数据,并找到一个尽可能将数据正确分类的分类超平面。在实际应用中,可以使用二次规划求解器(如SMO算法)来求解这个优化问题。
v3.6.1_release【安装包获取】 baltamatica_3.6.1_release_win_x86_64 baltamatica_3.6.1_release_ubuntu20.04_amd64 【新增功能】 点击查看 北太天元baltamatica_3.6.1 更新日志
baltamatica 3.6.1_release一、修复问题(一)内核问题修复修复续行符相关的问题命令语法支持续行符的使用,例如 global a ... \n b现在会生成全局变量 ab续行符后的文本会当成注释,例如:
fprintf('%d %d', a, ... 这是注释 b)修复了交互式代码执行时,字符串或注释中的 ... 会被错误当成续行符的问题,例如:
% 以下代码在交互式与非交互式执行中都会报错“字符串异常终止”,不会再提示续行 a = 'please input a number ... % 以下代码在交互式模式中不会再出现续行提示 a = 1; % ...修复 > 等比较符号在命令语法和 {} [] 中不能正确识别的问题,例如
a = 1; a > 1 % 会返回 false [a > 1 2 3] % 会生成数组 [0 2 3] a >1 % 命令语法,调用一个名为 a 的函数,参数为 '>1'修复括号未匹配时内核报错的笔误修复日历持续时间数组对负数值时分秒转化错误的 BUG。例如 0h 25m -15.2s 会现在会被转化为 0h 24m 44.8s(二)函数问题修复已修复的函数具体情况如下:函数/功能描述ls修复 windows 系统下目录不存在会闪退的问题(三)北太真元问题修复修复Model Verification类模块出现输出端口时运行异常报错的问题修复checkStaticGap、checkStaticLowerBound、checkStaticRange、checkStaticUpperBound模块参数为向量时的运行报错问题更新下列行业计算单元图标:Crossover Pilot Model、Estimate Center of Gravity、Estimate Inertia Tensor、Moments about CG due to Forces、Precision Pilot Model、Three-axis Accelerometer、Three-axis Gyroscope、Three-axis Inertial Measurement Unit、Tustin Pilot Model
baltamatica_999_3.6.0_dev0【安装包获取】版本芯片操作系统安装形式baltamatica_999-3.6.0-dev0_aarch64.tar.xzarmLinux通用绿色版baltamatica_999-3.6.0-dev0_Linux_aarch64.debarmLinux通用安装包baltamatica_999-3.6.0-dev0_win_x86_64.exex86_64Windows安装包baltamatica-999.3.6.0.dev0-1.x86_64.rpmx86_64Linux通用安装包baltamatica_999-3.6.0-dev0_amd64.tar.xzx86_64Linux通用绿色版baltamatica_999-3.6.0-dev0_Linux_amd64.debx86_64Linux通用安装包baltamatica-999.3.6.0.dev0-1-x86_64.pkg.tar.zstx86_64archlinux安装包baltamatica_999-3.6.0-dev0_uos20_loongarch64.debloongarch64统信安装包【更新内容】本开发者预览版基于正式版 v3.6.0,除 v3.6.0 正式版的内容外,还包含以下的更新:一、安装包更新从 v3.6.0-dev0 起,仅提供通用安装包和绿色版(x86 和 arm 架构)。通用 DEB 包:后缀为 .deb,适用于 ubuntu/debian/统信/deepin 等基于 DEB 包管理器的系统,需要 GLIBC >= 2.23通用 RPM 包:后缀为 .rpm,适用于 centos/fedora/rocky/redhat 等基于 RPM 包管理器的系统,需要 GLIBC >= 2.17(centoos 7)ArchLinux 安装包:后缀为 .tar.zst,适用于 ArchLinux,使用前请使用 pacman -Syu 保持系统为最新绿色版:后缀为 .tar.xz,适用于一般 Linux 系统,无需安装,解压缩到指定目录即可使用,需要 GLIBC >= 2.23二、系统适配适配了龙芯架构(loongarch64),提供适用于统信 UOS 20 的安装包。三、已知问题在统信 UOS 等国产系统中,系统的安全策略可能会阻止程序运行,需要在系统安全设置中允许任意应用运行,详见 https://faq.uniontech.com/desktop/app/2eb3在使用非 debian 系列系统(如 redhat、fedora、centos、archlinux)运行软件时,软件部分功能可能会因为安装目录权限问题而无法正常使用,例如北太真元无法打开 .bt 文件。可将安装目录权限设置为使用者临时解决此问题。例如 chown -R user:user /opt/Baltamatica
baltamatica 3.6.0_release一、新增功能(一)新增内核能力1、支持面向对象语法基础功能:支持使用 classdef 关键字进行类定义 支持部分属性定义语法(部分属性特性及默认属性值) 支持部分方法定义语法(部分方法特性,静态方法)支持方法调用的圆点调用语法 obj.fun(args) 和函数调用语法 fun(obj, args)2、支持命令语法(command syntax):软件命令行窗口和脚本中支持使用如下语法对函数进行调用:
command arg1 arg2 ...其中 command为函数名,arg1arg2等为参数,实际传入函数为字符向量类型,不同参数之间用空格分隔。命令语法可使得一些函数调用的方式变得更简单,例如load a.mat或者 clear global x。若参数中包含空格,可以使用单引号 '进行转义,例如 load 'my file.mat'。注:引入命令语法的同时移除了如下过时的调用方法:
command "arg1" "arg2" ...双引号在命令语法中将作为普通字符,若要转义空格等特殊字符,请使用单引号。(二)新增主体函数1、新增函数列表:函数描述fftnN 维快速傅里叶变换ifftn多维快速傅里叶逆变换fftw定义用来确定 FFT 算法的方法boundary二维或三维空间内的一组点的边界dsearchn最近点搜索datenum将日期和时间转换为日期序列值datevec将日期时间转换为分量向量timeofdaydatetime 数组中的值代表的自午夜以来经过的时间tzoffset相对于 UTC 的时区偏移量etime日期向量之间流逝的时间addtodate为日期序列值增加时间months指定日期间的整月数量lweekdate月份中指定星期数最后一次出现的日期nweekdate月份中指定星期数第n次出现的日期weeknum指定日期于一年中的周数isregular确定输入时间基于时间单位或日历单位是否规则datestr将日期和时间转换为字符串格式convertTo将 datetime 值转换为数值表示calendar指定的月份的日date当前日期作为字符向量eomdate月份的最后一天isbetween确定位于日期和时间区间内的元素time将日历持续时间的时间转换为持续时间between日历数学差分caldiff日历数学连续差分rowfun将函数应用于表的行varfun将函数应用于表的列rows2vars调整表方向使行成为列structfun对标量结构体的每个字段应用函数table2cell将表转换为元胞数组table2array将表转换为同构数组cell2table将元胞数组转换为表struct2table将结构体数组转换为表strmatch查找字符数组或字符串的可能匹配项strvcat垂直连接字符向量或字符串标量setxor设置两个数组的异或symvar确定表达式中的符号变量pathsep适用于当前平台的搜索路径分隔符restoredefaultpath将搜索路径还原为出厂安装时的状态fullfile从各个部分构建完整文件名filesep当前平台的文件分隔符movefile移动或重命名文件或文件夹rmdir删除文件夹recycle设置选项以便将已删除文件移到回收文件夹run运行北太天元脚本validatestring检查文本的有效性fread读取二进制文件中的数据fwrite将数据写入二进制文件feof检测文件末尾fgetl读取文件中的行,并删除换行符fgets读取文件中的行,并保留换行符sheetnames从电子表格文件中获取工作表名称rmse数组间的均方根误差mape数组之间的平均绝对百分比误差groupcounts分组元素的数量findall查找所有图形对象histcounts直方图 bin 计数hist直方图refresh重新绘制当前图窗ishandle测试是否有效的图形对象findobj查找具有特定属性的图形对象pcolor伪彩图fplot绘制表达式或函数hsv2rgb将 HSV 颜色转换为 RGBrgb2hsv将 RGB 颜色转换为 HSVancestor图形对象的前代ezpolar易用的极坐标绘图函数curl向量场的旋度和角速度divergence计算向量场的散度viewmtx查看变换矩阵fsurf绘制三维曲面fplot3三维参数化曲线绘图函数gobjects初始化图形对象的数组newplot确定图形对象的绘制位置fmesh绘制三维网格图binscatter分 bin 散点图shading设置颜色着色属性stream2计算二维流线图数据stream3计算三维流线图数据subvolume提取三维体数据集的子集volumebounds体数据的坐标和颜色范围reducevolume缩减三维体数据集内的元素数contrast创建灰度颜色图以增强图像对比度fontsize更改图窗中对象的字体大小fontname更改图窗中对象的字体名称listfonts列出可用的系统字体rgb2gray将 RGB 图像或颜色图转换为灰度图shg使用当前图窗delete删除文件或对象更详细的函数使用说明请参考帮助文档(三)新增集成开发环境(IDE)功能支持中英文字体分开设置命令行窗口返回的链接支持直接点击跳转地址导航栏支持拖动以进行文件移动支持shift+↑的组合键进行历史命令行批量选中支持enter键快捷执行命令行窗口中选中的内容命令行中的提示、警告、错误信息将按照颜色区别展示duration、calendarDuration、datetime、table数据类型支持在工作区的展示支持将.m文件拖动到北太天元快捷图标上快捷启动客户端,并同时自动打开目标文件新增图窗置顶功能(四)新增工具箱能力1、统计工具箱新增函数:函数描述fullfact完全析因设计hougenHougen-Watson 模型statget访问统计选项结构中的值ridge岭回归corrcov将协方差矩阵转换为相关矩阵partialcorri控制内部变量后的偏相关系数kurtosis峰度moment中心矩skewness偏度mad平均值或中位数绝对偏差nanmedian返回 X 的样本中位数,将 NaN 视为缺失值harmmean计算调和平均值zscore标准化 z 分数ncx2rnd非中心卡方随机数pearsrndPearson系统随机数johnsrndJohnson系统随机数dwtest残差相关性 Durbin-Watson 检验kstest2双样本 Kolmogorov-Smirnov 检验signrankWilcoxon 有符号秩检验signtest符号检验ansaribradleyAnsari-Bradley 检验linhyptest线性假设检验prctile求样本的百分位数slicesample切片取样mhsampleMetropolis-Hastings取样mvregress带有缺失数据的多元回归mvregresslike多元回归的负对数似然函数lhsnorm来自正态分布的拉丁超立方样本lhsdesign拉丁超立方样本nlparci非线性回归参数置信区间chi2gof卡方拟合优度检验expfit指数参数估计gamfitGamma 参数估计gamlikeGamma 负对数似然lognfit对数正态参数估计refline将参考线添加到绘图中copulafit将 copula 拟合到数据normspec正态密度图的范围着色glmval为广义线性模型预测值ksdensity单变量和双变量数据的核平滑函数估计mvncdf多变量正态累积分布函数mvtcdf多变量 t 累积分布函数mvksdensity多变量数据的核平滑函数估计ecdf经验累积分布函数regstats回归诊断invpred逆向预测robustfit拟合鲁棒线性回归capability过程能力指标ff2n二水平完全析因设计fracfact二水平因子的分数阶乘设计ranksum威尔科克森秩和检验normfit正态参数估计2、信号处理工具箱新增函数:函数描述envelope信号包络sgolay萨维茨基-戈雷滤波器设计hampel使用 Hampel 标识符去除异常值ifsst逆傅里叶同步压缩变换sos2ss二阶节到状态空间模型的转换firtype线性相位FIR滤波器的类型isallpass全通滤波器的判定isstable判定稳定滤波器firpmParks-McClellan 最优等波纹 FIR 滤波器设计fsst傅里叶同步压缩变换ellipord椭圆滤波器阶数iscola检查是否满足恒定重叠添加条件envspectrum用于机械诊断的包络谱fillgaps通过自回归建模填补间隙buttord巴特沃斯滤波器阶数选择cheb1ord切比雪夫 Type I 滤波器阶数选择cheb2ord切比雪夫 Type II 滤波器阶数选择kaiserordFIR 阶数估计器maxflat最大平坦(又称广义 Butterworth)数字滤波器设计residuezZ 变换部分分式展开pulstran脉冲序列extendsigroi将感兴趣的信号区域向左和向右扩展mergesigroi合并感兴趣的信号区域shortensigroi从左到右缩短感兴趣的信号区域sigroi2binmask将 ROI 限制矩阵转换为二进制掩码stft短时傅里叶变换istft逆短时傅里叶变换yulewalk递归滤波器设计,使用最小二乘法seqperiod计算序列周期zerocrossrate零穿越率pulseperiod脉冲信号的周期pulsesep脉冲之间的间隔pulsewidth双电平波形脉冲宽度sfdr无杂散动态范围eqtflength使传递函数分子和分母的长度相等latc2tf将点阵滤波器系数转换为传递函数形式falltime负向双电平波形转换的下降时间risetime正向双电平波形转换的上升时间settlingtime双电平波形的稳定时间slewrate双电平波形转换率bandpower带功率obw占用带宽rcepsReal cepstrum and minimum-phase reconstructionicceps逆复数倒谱cceps复倒谱分析levinson莱文森-德宾递归lpc线性预测滤波器系数ac2poly将自相关序列转换为预测多项式ac2rc将自相关序列转换为反射系数aryule自回归全极点模型参数 - Yule-Walker 方法3、控制系统工具箱新增函数:函数描述tf传递函数模型zpk定义传递函数ss定义状态空间get获取模型参数set设定模型参数tfdata传递函数参数zpkdatazpk参数模型ssdata状态空间参数模型pole极点计算zero零点计算(五)新增插件 MatrixFunctions1、函数列表matrix::expm矩阵指数matrix::sqrtm矩阵主平方根matrix::logm矩阵主对数matrix::funm计算一般矩阵函数matrix::signm矩阵符号函数matrix::prtm矩阵主p次方根(六)新增北太真元功能1、新增基础计算单元:模块分类功能directLookupTablelookupTables为 N 维表进行索引,以检索元素、向量或二维矩阵vectorConcatenatemath/signalRouting串联相同数据类型的输入向量以进行迭代处理assertionModel Verification检查信号是否为零checkDynamicGapModel Verification检查信号振幅范围内是否存在可能变化宽度的间隙checkDynamicRangeModel Verification检查信号是否落在随时间步长变化的振幅范围内checkStaticGapModel Verification检查信号的振幅范围内是否存在间隙checkStaticRangeModel Verification检查信号是否落在固定的振幅范围内checkDynamicLowerBoundModel Verification检查一个信号是否始终小于另一个信号checkDynamicUpperBoundModel Verification检查一个信号是否始终大于另一个信号checkStaticLowerBoundModel Verification检查信号是否大于(或大于等于)静态下界checkStaticUpperBoundModel Verification检查信号是否小于(或小于等于)静态上界checkDiscreteGradientModel Verification检查离散信号的连续样本之间的绝对差值是否小于指定值indexVectorsignalRouting基于第一个输入的值在不同输入之间切换输出multiportSwitchsignalRouting基于控制信号选择输出信号selectorsignalRouting从向量、矩阵或多维信号中选择输入元素counterFreeRunninginputs进行累加计数并在达到指定位数的最大值后溢出归零counterLimitedinputs进行累加计数,并在达到指定的上限后绕回到 0intervalTestDynamiclogicOperation确定信号是否在指定的区间内enabledDelaydiscrete按指定采样数延迟输入信号resettableDelaydiscrete按可变采样周期延迟输入信号,并用外部信号重置variableIntegerDelaydiscrete按可变采样周期延迟输入信号2、新增行业计算单元:模块分类功能CIRA-86 Atmosphere ModelAerospaceToolbox实现1986年CIRA大气数学模型Three-axis Inertial Measurement UnitAerospaceToolbox实现三轴惯性测量单元(IMU)Moments about CG due to ForcesAerospaceToolbox计算由于作用在非重心点上的力而产生的关于重心的力矩Symmetric Inertia TensorAerospaceToolbox从惯性矩和惯性积创建惯性张量Direction Cosine Matrix to QuaternionsAerospaceToolbox将方向余弦矩阵转换为四元数向量Direction Cosine Matrix to Wind AnglesAerospaceToolbox将方向余弦矩阵转换为风向角Direction Cosine Matrix Body to WindAerospaceToolbox将迎角和侧滑角转换为方向余弦矩阵Direction Cosine Matrix Body to Wind to Alpha and BetaAerospaceToolbox将方向余弦矩阵转换为迎角和侧滑角Direction Cosine Matrix ECEF to NEDAerospaceToolbox将大地纬度和经度转换为方向余弦矩阵Direction Cosine Matrix ECEF to NED to Latitude and LongitudeAerospaceToolbox将方向余弦矩阵转换为大地纬度和经度Direction Cosine Matrix ECI to ECEFAerospaceToolbox将地心惯性坐标系转换为地心地固坐标系坐标Direction Cosine Matrix to Rotation AnglesAerospaceToolbox将方向余弦矩阵转换为旋转角度Flat Earth to LLAAerospaceToolbox从平面地球位置估计大地纬度、经度和高度LLA to Flat EarthAerospaceToolbox将大地纬度、经度和高度转换为平面地球位置Julian Epoch to Besselian EpochAerospaceToolbox将位置和速度分量从标准儒略纪元(J2000)转换到已废弃的标准贝塞尔纪元(B1950)Quaternions to Direction Cosine MatrixAerospaceToolbox将四元数向量转换为方向余弦矩阵Quaternions to Rotation AnglesAerospaceToolbox将四元数转换为旋转向量Rotation Angles to QuaternionsAerospaceToolbox将旋转角度转换为四元数Rotation Angles to Direction Cosine MatrixAerospaceToolbox将旋转角度转换为方向余弦矩阵Wind Angles to Direction Cosine MatrixAerospaceToolbox将风角转换为方向余弦矩阵IM ControllerPowertrainToolbox基于内部转矩的、磁场定向控制的感应电机控制器,可选配外部速度环控制器Interior PM ControllerPowertrainToolbox基于转矩的、磁场定向控制的内置式永磁同步电机控制器Three-Phase Voltage Source InverterPowertrainToolbox三相电压源逆变器CVT ControllerPowertrainToolbox无级变速器控制器Three-axis Inertial Measurement UnitVehicleDynamicsToolbox实现三轴惯性测量单元(IMU)Steering SystemVehicleDynamicsToolbox阿克曼式和齿条齿轮式转向机构的转向系统Motorcycle Body Longitudinal In-PlaneVehicleDynamicsToolbox摩托车车辆纵向平面内运动Vehicle Body 3DOF LongitudinalVehicleDynamicsToolbox三自由度(3DOF)刚性车体模型,用于计算纵向、垂直和俯仰运动Lateral DriverVehicleDynamicsToolbox横向路径跟踪控制器Longitudinal DriverVehicleDynamicsToolbox纵向速度跟踪控制器Predictive DriverVehicleDynamicsToolbox预测性驾驶员控制器,用于跟踪纵向速度和横向路径3、新增行业模型:模型库分类汽车理论动力性仿真汽车模拟类模型库汽车行驶速度PID控制系统仿真汽车模拟类模型库汽车悬架系统模型汽车模拟类模型库电子节气门控制模型汽车模拟类模型库基于粒子群算法的PID控制器优化设计模型控制系统类模型库无阻力动力吸振器模型机械系统模型库蹦极模型机械系统模型库单轴振动筛建模与仿真机械系统模型库机械振动机械系统模型库对称间隙单自由度振动系统模型机械系统模型库4、新增仿真建模环境能力:新增画布启动页,可以打开最近文件新增启动页模块库悬浮提示信息新增ode34、ode56、ode67求解器新增画布比例信息展示新增鼠标滚轮缩放控制画布比例新增触控板手势缩放控制画布比例新增底部状态栏按钮缩放控制画布比例新增画布增加自适应模型功能二、优化功能(一)内核优化指标向量中,支持使用 end表示结尾,例如 a([1 end 2])提升内核查找变量与符号的效率提升内核取单个下标运算的效率优化元胞数组对空数组的显示:对 0 x 0 双精度矩阵将显示为 []优化元胞数组对函数句柄的显示:会直接显示其具体内容表格将会显示列数小于等于 5 的元胞类型的变量元胞和结构体将会以更紧凑的形式显示行向量,节约显示空间(二)函数优化1、已优化的函数具体情况如下:函数描述std增加对输入权重为 '[]' 的支持histc优化执行效率roundround(X) 增加对整数数据的支持round(X,N), round(X,N,type) 增加对高维的支持ndims增加对日期时间和函数句柄数据类型的支持type增加对路径管理中文件直接使用文件名输入的支持datetime增加对名称-值参数对组输入的支持isscalar增加对日期时间和表数据类型的支持interp1优化插值方法fft, ifft增加对高维的支持fft2, ifft2增加对高维的支持isreal增加对稀疏矩阵的支持cellstr增加对元胞数组的支持mat2cell增加对高维的支持eps增加对稀疏矩阵、复数以及 duration 数据类型的支持新增函数语法 eps('like',p)det增加对复数的支持class增加对自定义类的支持isobject增加对自定义类的支持exist增加对文件夹的存在情况检查的支持unique提升 rows 模式的运算效率ismatrix增加对日期时间和表数据类型的支持size增加对日期时间和表数据类型的支持abs增加对 duration数据类型的支持增加对合并稀疏矩阵的处理完善对无符号整型数据的处理thetaticklabels增加对输入参数“[]”的支持colorbar新增函数语法 colorbar('off'), colorbar(target,'off')whos增加对表格、日期时间、持续时间、日历持续时间和自定义类的字节数显示支持clear支持清除变量、函数、BEX函数ls在UNIX系统下,会调用系统命令 ls,并支持选项传递,例如 ls -alh,支持返回值输出为字符矩阵bex使用软件中的 bex函数编译 BEX 文件时,无需事先使用 clear_bex将其从内存中清除(三)集成开发环境(IDE)优化窗口滑动条进行了最短限制帮助菜单中子项的名字和顺序进行了优化地址导航栏中的文档树不再过滤文件类型,显示所有文件客户端登陆后跳转至个人中心网站,会将北太天元的登录状态带入,无需在官网再次登录启动客户端时,若检测到客户端窗口处于无效屏幕显示区间,窗口位置及大小将回归初始化命令行中若包含多条指令,则会将所有指令作为一个整体依次进行执行,不再因为前面的指令执行报错而导致后面的指令中断字符界面交互式输入元胞、矩阵类型数据时,会正常显示续行逻辑(四)北太真元系统仿真工具优化v1.5版本相关计算单元icon优化快捷工具栏布局优化,不再上下浮动,图标左右间距保持与天元统一模型浏览器列表交互优化模型浏览器列表鼠标悬浮及选中背景色优化模块库列表文字交互优化,点击任意的文字区域展开内容模块参数设置栏复选框样式优化问题反馈弹窗输入框文字提示和文字输入颜色优化诊断器报错信息分类优化菜单栏编辑中的粘贴和剪切置灰逻辑优化菜单栏管理选项视图下级菜单中文字布局优化问题反馈弹窗中邮箱输入框内文字布局优化主界面工具栏分割线优化,颜色保持一致,分割线可选区域扩大模块库模块名称显示优化,不再显示不全画布端口连线和线段优化,不再有错位问题,修改了线段透明度粗细模型结构显示栏优化,下拉三角形高亮的背景只有图标16*16区域帮助系统中欢迎使用删去了hover状态求解器报错信息显示优化,不再将输入框顶上去一行,出现错位三、修复问题(一)内核问题修复1、匿名函数匿名函数支持直接返回 {}生成的元胞数组,例如@(x) {1,2,3},且元胞数组可使用逗号或空格分隔元素匿名函数定义内容在命令行中显示更加准确,不再包含无关内容修复匿名函数定义 1.*2时会被转写成1..*2的问题修复匿名函数中转置 .'会多出一个负号的问题2、元胞数组元胞中定义匿名函数,会正确识别空格的含义,例如{@(x) x 1 2}会被识别成{@(x)x,1,2},{@(x) x + 1 2}会被识别成{@(x) x + 1, 2}修复使用 {1, 2 * x}定义元胞数组时会报语法错误的问题修复元胞数组无法正常显示稀疏矩阵的问题修复对某些不支持的类型显示为 unknown的问题修复显示 UTF-8 字符串可能会报错的问题3、数组修复[1, + 2]计算不正确的问题(应该返回 1 x 2 数组)[]和{}中若存在额外的逗号,现在会认为是语法错误4、日期时间数组日期时间数组统一使用公历(Gregorian Calendar)进行显示和运算,对 1582 年 10 月 4 日前的日期计算使用扩展规则5、脚本运行解决同一脚本中使用 addpath添加搜索路径之后调用新路径中的函数,会报错函数找不到的问题修复在脚本结束时执行unload_plugin可能会导致软件闪退的问题若 M 脚本(非函数)作为函数参数、if表达式等的输入,内核现在会报错短路逻辑运算 &&||现在要求输入必须可转化为逻辑类型标量,否则会报错修复 :运算符计算错误时,执行不会及时停止的问题修复嵌套 for循环中,内层for循环因为报错而退出,外层循环不会及时停止的问题6、SDK(API 版本更新至 v3.5)增加结构体取子块的函数 bxExtractStructRowsbxExtractStructSubBlock增加外部对象相关 API:bxIsExternbxIsExternIDbxGetExtObjRObxGetExtObjRW,将如下 API 标记为已过时:bxGetExtObj修复交替调用bxEvalString和bxEvalIn函数产生的各类异常问题(二)函数问题修复1、已修复的函数具体情况如下:函数/功能描述cat修复了输入为空矩阵时报错或闪退的问题fscanf修复了%c 读取为空时格式返回值类型错误的问题save修复了仅保存单一结构体时误存工作区所有变量的问题fprintf修复了函数不能识别换行符的问题strtok修复了运行 strtok('') 语句时闪退的问题axis,xlim,ylim修复了当输入多组坐标区且对应多个图窗时,仅更新单一图窗的问题colormap修复了输入空数组后闪退的问题histogram, polarhistogram修复了输入无限值时闪退的问题close修复了在脚本中执行 "plot(1:10);close all;" 语句时窗口无法关闭的问题未知时区判断修复了日期相关函数中,unknown 时区判断不准确的问题获取缩放比例修复了uos系统上缩放比例获取错误的问题图窗拖拽移动修复了拖拽最大化图窗时,移动位置对应错误的问题图片导出修复了ubuntu系统上不输入文件名后缀导出图片时失败的问题(三)集成开发环境(IDE)问题修复修复了最近文件顺序混乱的问题修复了关闭软件弹窗逻辑出错的问题修复了已经打开的文件重命名后无法再次运行的问题修复了文件树快速失去焦点的问题(四)北太真元问题修复修复了统信适配版本模型库所有文件内容打开为空的问题修复了模块库搜索结果存在多个时会有遮挡搜索框的问题修复了模块库中带有子系统的行业计算单元无法拖拉拽到画布展示使用的问题修复了模型文件运行异常直接退出的问题修复了多个数学类模块如subtrac等可以增减端口的操作确定增减后不生效的问题修复了print模块可同时连接两个输入信号的问题修复了统信适配版本报错信息错误的问题修复了子函数修改名字后运行提示失败的问题修复了空白的模块拖到画布中为空图标的问题四、已知问题(一)函数在脚本中运行close函数时,某些情况下会关闭所有图窗涉及到函数句柄的绘图函数在处理第一类间断点和第二类间断点的情况时存在问题在使用set函数对绘图对象进行设置时,某些属性在被设置为高维空矩阵时,会异常退出在某些虚拟机上绘制的线宽会变粗(二)北太真元系统仿真工具问题Simulink 2021a版本不支持Propagation Delay,如需导入该模块需要进行替换;暂不支持nDlookup和directLookup模块的导入断言类的模块,仿真回调参数内的代码执行效果,与在天元命令行执行效果一致,可能会在天元命令行窗口出现打印信息;如果代码包含figure调用,在运行时必然出现figure窗口;如果存在clear和clc代码,会导致模型执行异常并报错如果在子函数内调用绘图函数,绘图内容会随着运行时间实时更新,如果在过程中关闭绘图窗口,可能会出现“figure不存在”的提示如果子函数模块输出复数信号,可能会导致模型计算异常或报错assertion模块暂不支持simulink导入仿真模型转脚本运行时间对比老版本耗时更久,需要后续优化真元打开模块非常多的slx文件、复制非常多的模块会闪异常退出当前QT版本会导致一些界面,弹窗显示问题,如Ubuntu环境求解器参数设置框高度不一致,且筛选需要在右侧▽才可以筛选求解器不方便;真元窗口都不能拉伸问题等异常报错的模型重复多次点击运行停止大概率会异常退出
v3.6.0_release【安装包获取】 baltamatica_3.6.0_release_win_x86_64 baltamatica_3.6.0_release_ubuntu20.04_amd64 【新增功能】 点击查看 北太天元baltamatica_3.6.0 更新日志
baltamatica_999_3.5.0_dev1【安装包获取】版本芯片操作系统安装形式baltamatica_999-3.5.0-dev1_aarch64.tar.xzarmLinux通用绿色版baltamatica_999-3.5.0-dev1_Linux_aarch64.debarmLinux通用安装包baltamatica_999-3.5.0-dev1_win_x86_64.exex86_64Windows安装包baltamatica_999-3.5.0-dev1_amd64.tar.xzx86_64Linux通用绿色版baltamatica_999-3.5.0-dev1_Linux_amd64.debx86_64Linux通用安装包baltamatica_999-3.5.0-dev1_ubuntu18.04_amd64.debx86_64Ubuntu安装包baltamatica_999-3.5.0-dev1_ubuntu20.04_amd64.debx86_64Ubuntu安装包baltamatica_999-3.5.0-dev1_ubuntu22.04_amd64.debx86_64Ubuntu安装包baltamatica_999-3.5.0-dev1_ubuntu24.04_amd64.debx86_64Ubuntu安装包baltamatica-999.3.5.0.dev1-1.el7.x86_64.rpmx86_64centos安装包baltamatica_999-3.5.0-dev1_debian10_amd64.debx86_64Debian安装包baltamatica_999-3.5.0-dev1_debian11_amd64.debx86_64Debian安装包baltamatica_999-3.5.0-dev1_debian12_amd64.debx86_64Debian安装包baltamatica_999-3.5.0-dev1_Deepin20.9_amd64.debx86_64Deepin安装包baltamatica_999-3.5.0-dev1_kylinv10_amd64.debx86_64银河麒麟安装包baltamatica-999.3.5.0.dev1-1.fc38.x86_64.rpmx86_64fedora安装包baltamatica-999.3.5.0.dev1-1.fc39.x86_64.rpmx86_64fedora安装包baltamatica-999.3.5.0.dev1-1.fc40.x86_64.rpmx86_64fedora安装包baltamatica-999.3.5.0.dev1-1-x86_64.pkg.tar.zstx86_64archlinux安装包baltamatica-999.3.5.0.dev1-1.el8.x86_64.rpmx86_64redhat8/rocky8/centos8系列安装包baltamatica_999-3.5.0-dev1_uos20_amd64.debx86_64统信安装包【更新内容】本开发者预览版基于正式版 v3.5.0,除 v3.5.0 正式版与 v3.5.0-dev0 的内容外,还包含以下的更新:一、新功能1、新系统适配适配如下系统(x86):fedora 40统信 UOS 20 10602、仿真模块从 999-3.5.0-dev1 预览版起,软件将包含仿真模块(北太真元),与正式版保持一致。 本次发布包含北太真元 v1.5 版本,由于是预览版,其版本号为 999-1.5.0-dev1。二、功能优化减小了 Windows 安装包的大小三、已知问题北太真元画布暂不支持使用 Ctrl+鼠标滚轮进行缩放,该问题在解决中。在统信 UOS 等国产系统中,系统的安全策略可能会阻止程序运行,需要在系统安全设置中允许任意应用运行,详见 https://faq.uniontech.com/desktop/app/2eb3在 deepin、统信 UOS 系统中,若系统显示缩放比例不为 100%,绘图窗口的坐标轴和内容可能无法对齐,导致显示异常。该问题正在解决中,可将系统缩放比例调节为 100% 临时解决此问题在使用非 debian 系列系统(如 redhat、fedora、centos、archlinux)运行软件时,软件部分功能可能会因为安装目录权限问题而无法正常使用,例如北太真元无法打开 .bt 文件。可将安装目录权限设置为使用者临时解决此问题。例如 chown -R user:user /opt/Baltamatica
baltamatica_999_3.5.0_dev0【安装包获取】通用deb版:适用于ubuntu,debian,银河麒麟等基于deb/apt包管理器的系统适用于x86架构:baltamatica_999-3.5.0-dev0_Linux_amd64.deb适用于arm64架构:baltamatica_999-3.5.0-dev0_Linux_aarch64.deb绿色版:适用于linux,直接解压缩后即可运行适用于x86架构:baltamatica_999-3.5.0-dev0_amd64.tar.xz适用于arm64架构:baltamatica_999-3.5.0-dev0_aarch64.tar.xz其他版本:适用于x86架构:baltamatica_999-3.5.0-dev0_debian10_amd64.debbaltamatica_999-3.5.0-dev0_debian11_amd64.debbaltamatica_999-3.5.0-dev0_debian12_amd64.debbaltamatica_999-3.5.0-dev0_Deepin20.9_amd64.debbaltamatica_999-3.5.0-dev0_kylinv10_amd64.debbaltamatica_999-3.5.0-dev0_ubuntu18.04_amd64.debbaltamatica_999-3.5.0-dev0_ubuntu20.04_amd64.debbaltamatica_999-3.5.0-dev0_ubuntu22.04_amd64.debbaltamatica_999-3.5.0-dev0_ubuntu24.04_amd64.debbaltamatica_999-3.5.0-dev0_win_x86_64.exebaltamatica-999.3.5.0.dev0-1-x86_64.pkg.tar.zstbaltamatica-999.3.5.0.dev0-1.el7.x86_64.rpmbaltamatica-999.3.5.0.dev0-1.el8.x86_64.rpmbaltamatica-999.3.5.0.dev0-1.fc38.x86_64.rpmbaltamatica-999.3.5.0.dev0-1.fc39.x86_64.rpm【更新内容】本开发者预览版基于正式版 v3.5.0,除 v3.5.0 正式版的内容外,还包含以下的更新:一、新功能1、新系统适配适配如下系统:ubuntu 24.04银河麒麟(kylinOS)桌面版 V10新增适配如下 CPU 架构(以通用安装包形式发布):arm64(飞腾、海思)2、通用安装包新增两类通用安装包(Linux):通用 deb 安装包:可以安装在基于 deb/apt 包管理器的 Linux 系统上,例如 ubuntu、debian、deepin、统信 UOS、麒麟系统等绿色版安装包:直接解压缩即可运行,无需安装,可运行在任意类型 Linux 系统且安装不需要管理员权限注:通用安装包需要系统 GLIBC >= 2.23,且系统需要安装 binutils 库。使用通用 deb 包请使用如下命令安装:
# XXX 是软件版本 sudo apt install ./baltamatica_XXX_Linux_amd64.deb这样 apt 会自动处理安装依赖。使用绿色版安装包时,确保系统中安装了 binutils。二、内置函数date 以字符串形式返回当前日期time 日历持续时间数组转化为持续时间数组addtodate 为日期序列值增加时间etime 日期向量之间的经过时间tzoffset 相对于 UTC 时区的偏移量isregular 判断输入时间是否基于某时间单位是规则的三、已知问题如果安装后无法启动软件界面,可尝试安装 libxcb-xinput0,例如:sudo apt install libxcb-xinput0在统信 UOS 等国产系统中,系统的安全策略可能会阻止程序运行,需要在系统安全设置中允许任意应用运行,详见 https://faq.uniontech.com/desktop/app/2eb3在 deepin、统信 UOS 系统中,若系统显示缩放比例不为 100%,绘图窗口的坐标轴和内容可能无法对齐,导致显示异常。该问题正在解决中,可将系统缩放比例调节为 100% 临时解决此问题
北太天元数值计算通用软件是国内首款具有完全自主知识产权的通用型科学计算软件,在突破并实现内核根技术后,已形成解释性高级编程语言。2024年4月29日,北太天元v3.5正式发布,本次对北太天元主体功能和多个工具箱进行更新升级,为用户提供更加丰富的数据处理及计算支持,并进一步优化使用体验,使得各行业用户可以更流畅地使用IDE、北太真元系统仿真工具。立即通过下方视频了解详情: 一张表速览整体更新情况北太天元v3.5更新详情1.内核功能更新支持十六进制和二进制整数类型字面量。新增4种数据类型:表格、日期时间、持续时间、日历持续时间。内核语法新增try-catch,支持执行语句并捕获产生的错误。2.主体函数更新重点加强了对时间类和表格类数据类型的支持,新增50个函数,提供更多尺度下的时间换算、计算函数,日期数据的使用与处理因此而更加灵活。在绘图方面,新增25个绘图函数,主要增强了对三维绘图能力的支持,可视化能力大幅提升。支持瀑布图、条带图、圆柱、椭圆体、球面等,使得用户可以更清楚地洞见或展示数据之间的复杂关系,多个绘图设置函数可以让用户更加自由地进行图形样式、布局设置,可以满足更丰富的图形呈现场景。绘图类型(部分)3.工具箱升级信号处理工具箱新增功能函数96个,在数字滤波器、模拟滤波器、信号变换、信号建模、相关性和卷积、频谱分析等应用场景方面提供更多支持。至此,信号处理工具箱已经基本覆盖了传统信号处理领域内的全部工作流。FIR滤波器在通信、图像处理、模式识别等领域都有着广泛的应用。使用北太天元的信号处理工具箱,可以采用多种方法进行FIR滤波器的设计与仿真,以下案例使用布莱克曼窗设计了一个FIR滤波器(部分代码)。信号处理工具箱使用示例统计工具箱新增功能函数33个,其中新增支持2个连续概率分布和4个多元概率分布常见功能,强化多个常见分布的处理功能,提供更加丰富的统计量描述等功能,增加对回归分析的支持。使用统计工具箱,可对模拟的金融数据进行相关性和偏相关性分析,估计copula参数、计算马氏距离,用于分析股票价格与市场指数之间的关系,帮助投资者和决策者更好地理解市场动态。统计工具箱使用示例新增控制系统工具箱,该工具箱此次新增功能函数4个,辅助控制系统设计,支持矩阵计算、系统的可控、可观判断功能使用控制系统工具箱,可分析模拟倒立摆系统的可控性和可观性,通过对可控性和可观性的判断来进行有效的状态反馈控制。控制系统工具箱使用示例4.IDE用户体验提升文件导入和路径选择弹窗风格优化,与操作系统自带的文件管理器保持一致,降低用户学习成本,方便用户查找文件。升级前(左),升级后(右)北太真元v1.5更新详情 北太真元是北太天元的重量级工具箱,用于建立、模拟和分析动态系统的模型,主要用于控制系统设计、仿真和验证。其使用场景包括控制系统设计、信号处理、通信系统仿真、动态系统建模等领域。本次仿真建模环境相关更新情况如下:进度信息改为仿真进度条提示,用户可以直观获取当前运行状态及进度。进度信息改为仿真进度条提示搜索结果有单独的窗口进行展示,可以保存最近搜索历史记录,同时新增搜索结果统计数据,可以直观获取当前搜索结果的统计数据。搜索功能使用示例进一步优化了子系统的功能,可进行模块封装及复用,简化复杂模型的设计和维护,提升建模效率。子系统功能优化 为保障使用体验,我们在此次正式上线前开启了版本内测。在此,我们特别感谢以下各位朋友在北太天元开发者社区提出的问题,我们非常珍视这些建议,并已安排在此次和后续版本更新中迭代:风一样、红枣红枣、yliu7949、judy、Cyhan(*以上为北太天元开发者社区用户昵称)。 如您在使用过程中有更多的意见和建议,或想要了解北太天元产品的最新进展,欢迎添加企业微信随时与我们交流。同时,您也可以在北太天元开发者社区发帖留言。我们期待您的反馈与建议!微信扫描二维码即可添加好友-END-
baltamatica 3.5.0_release一、新增(一)新增功能1、IDE新增恢复默认布局功能;2、北太真元系统仿真工具仿真运行过程进度条显示;Simulink模型导入功能,新增基础计算单元的兼容。(二)新增函数1、主体函数(1)绘图:rticklabels: 设置或查询 r 轴刻度标签thetaticklabels:设置或查询 theta 轴刻度标签waterfall:瀑布图isgraphics:对有效的图形对象句柄为 Trueallchild:查找指定对象的所有子级daspect:控制沿每个轴的数据单位长度pbaspect:控制每个轴的相对长度ribbon:条带图cylinder:创建圆柱ellipsoid:创建椭圆体sphere:创建球面colororder:为可视化多个数据序列设置色序rgbplot:绘制颜色图lines:线条颜色图数组colorcube:Colorcube 颜色图数组prism:Prism 颜色图数组flag:flag 颜色图数组alim:设置或查询坐标区的 alpha 范围reset:将图形对象属性重置为其默认值smooth3:平滑处理三维数据rotate:以指定原点和方向旋转对象plotmatrix:散点图矩阵brighten:增亮或加深颜色图sky:Sky 颜色图数组hidden:消除网格图中的隐线(2)数学:pdepe:求解一维抛物-椭圆型PDE的初边界值问题pdeval:计算由pdepe生成的数值解在给定点上的插值和导数的插值pdentrp:pdepe的插值辅助函数bsxfun:对两个数组应用按元素运算(启用隐式扩展)(3)编程:assert:条件为 false 时引发错误mkdir:创建新目录baltamaticaroot:北太天元根文件夹lscmd:列出北太天元当前可调用所有命令的列表(4)数据导入和分析:type:显示文件内容fileread:以文本格式读取文件内容trenddecomp:寻找数据趋势quantile:数据集的分位数histcounts2:二元直方图bin计数accumarray:累加向量元素(5)语言基础知识:try, catch:执行语句并捕获产生的错误validateattributes:检查数组的有效性iskeyword:确定输入是否为 Baltamatica 关键字datetime:表示时间点的数组NaT:非时间 (Not-a-Time)eomday:一个月中的最后一天duration:固定长度单位的时间长度calendarDuration:以可变长度日历单位表示的时间长度now:当前日期和时间作为日期序列值clock:日期向量形式的当前日期和时间today:当前日期year:日期时间输入的年份值quarter:日期时间输入的季度值month:日期时间输入的月份值week:日期时间输入的周数值day:日期时间输入的日期值weekday:星期几hour:日期时间输入的小时分量minute:日期时间输入的分钟分量second:日期时间输入的秒分量ymd:日期时间的年、月和日数字hms:日期时间或持续时间的小时、分钟和秒数isnat:确定 NaT(非时间)元素isdst:确定夏令时元素isweekend:确定周末元素isdatetime:确定输入是否为日期时间数组table:具有命名变量的表数组(变量可包含不同类型的数据)array2table:将同构数组转换为表table2struct:将表转换为结构体数组convertvars:将表或时间表变量转换为指定的数据类型istable:确定输入是否为表istabular:确定输入是表还是时间表head:获取表、时间表或 tall 数组的前几行tail:获取表、时间表或 tall 数组的最后几行addvars:将变量添加到表或时间表中renamevars:重命名表或时间表中的变量movevars:在表或时间表中移动变量removevars:从表或时间表中删除变量splitvars:在表或时间表中拆分多列变量mergevars:将表或时间表变量合并成多列变量years:持续时间(以年为单位)days:持续时间,以天为单位hours:持续时间,以小时为单位minutes:以分钟为单位的持续时间calyears:日历持续时间(以年为单位)calquarters:日历持续时间(以季度为单位)calmonths:日历持续时间(以月为单位)calweeks:日历持续时间(以周为单位)caldays:日历持续时间(以天为单位)isduration:确定输入是否为持续时间数组iscalendarduration:确定输入是否为日历持续时间数组seconds:以秒为单位的持续时间milliseconds:以毫秒为单位的持续时间(6)辅助函数:setSimuStatus:仿真辅助函数2、工具箱函数(1)控制系统工具箱:ctrb:计算可控性矩阵ctrbf:可控性梯形形式obsv:计算可观测性矩阵obsvf:可观测性梯形形式(2)统计工具箱:dummyvar:创建虚拟变量geomean:计算几何平均值trimmean:计算修剪均值corr:计算线性或秩相关系数partialcorr:计算线性或秩偏相关系数tiedrank:计算样本的秩,调整平级关系gpfit:对广义帕累托数据进行参数估计和置信区间计算wblfit:计算Weibull分布参数的最大似然估计和置信区间copulacdf:Copula的累积概率函数copulapdf:Copula的概率密度函数copulaparam:Copula参数作为排序相关性的函数copulastat:获得排序相关系数copularnd:从 Copula 分布中随机生成向量mahal:计算马氏距离iwishrnd:生成逆Wishart随机矩阵wishrnd:生成Wishart随机矩阵canoncorr:计算矩阵样本特征系数和相关性regress:使用最小二乘法多元线性回归x2fx:将预测值转换为设计矩阵removenan:从输入中移除 NaN 值corrSpearman:计算 Spearman 相关系数矩阵corrPearson:计算Pearson相关系数矩阵corrKendall:Kendall 相关系数矩阵icdf:指定分布的逆累积分布函数pdf:指定分布的概率密度函数nbinfit:负二项分布数据的参数估计betalike:负Beta对数似然函数betafit:为Beta分布数据估计参数和置信区间gevfit:用于广义极值数据的参数估计和置信区间计算barttest:对数据进行巴特斯特检验evnegloglike:负极大似然估计dgammainc:带导数的不完全Gamma函数gammaincratio:不完全Gamma函数(3)信号处理工具箱:dftmtx:离散傅里叶变换矩阵czt:周期变换fwht:快速离散 Walsh-Hadamard 变换ifwht:快速逆离散Walsh-Hadamard变换hilbert:通过 Hilbert 变换生成离散时间解析信号butter:Butterworth 数字和模拟滤波器设计fircls:用约束最小二乘法设计线性相位滤波器intfilt:插值滤波器设计impzlength:数字滤波器的脉冲响应长度ismaxphase:判断最大相位滤波器是否为真isminphase:判断最小相位滤波器是否为真convmtx:生成卷积矩阵cell2sos:将单元格数组转换为二阶节矩阵sos2zp:二阶部分到零极点增益模型的转换zp2tf:零极点到传递函数的转换triang:创建三角窗plomb:创建Lomb Scargle周期图tfestimate:估计传递函数db:转换为分贝db2mag:dB到幅度的转换db2pow:分贝到功率的转换mag2db:幅度到分贝的转换pow2db:功率到分贝的转换pburg:利用Burg方法估计功率谱密度pcov:用协方差法估计功率谱密度pmcov:修正协方差法估计功率谱密度pmusic:通过MUSIC特征向量法进行频率估计freqz:数字滤波器的频率响应blackman:创建Blackman窗口barthannwin:创建改进 Bartlett-Hanning 窗口peig:通过特征向量法估计频率bartlett:创建Bartlett 窗口bitrevorder:将输入置换为位反转顺序digitrevorder:将输入置换为数字反转顺序xcorr2:计算二维互相关filtic:生成'filter'函数的初始条件corrmtx:创建自相关矩阵cconv:计算循环卷积arburg:通过 Burg 方法进行 AR 参数估计bohmanwin:创建Bohman 窗口flattopwin:创建平顶窗gausswin:创建高斯窗口hamming:创建汉明窗hann:创建Hann 窗口kaiser:创建凯泽窗nuttallwin:创建Nuttall 窗口taylorwin:创建泰勒窗口tukeywin:创建Tukey 窗口rlevinson:反向莱文森-德宾递归arcov:使用协方差方法进行AR参数估计is2rc:将反正弦参数转换为反射系数lar2rc:将对数面积比转换为反射系数lsf2poly:预测多项式的线谱频率poly2rc:将预测多项式转换为反射系数poly2ac:将预测多项式转换为自相关序列poly2lsf:线谱频率预测多项式rc2ac:自相关序列的反射系数rc2is:将反射系数转换为反正弦参数rc2lar:将反射系数转换为对数面积比rc2poly:将反射系数转换为预测多项式armcov:使用修改后的协方差方法进行AR参数估计prony:Prony方法用于时域IIR滤波器设计stmcb:通过 Steiglitz-McBride 迭代计算线性模型impz:数字滤波器的冲激响应blackmanharris:创建最小4项 Blackman-Harris 窗口fircls1:使用受约束的最小二乘法设计低通和高通FIR滤波器invfreqs:将频率响应数据拟合成连续时间滤波器invfreqz:将频率响应数据拟合成离散时间滤波器polystab:多项式稳定化fir1:使用窗口法设计FIR滤波器fir2:使用频率采样方法设计FIR滤波器rooteig:通过特征向量算法计算正弦曲线的频率和功率rootmusic:通过Root MUSIC算法计算正弦波的频率和幂polyscale:缩放多项式的根sos2cell:将二阶节矩阵转换为单元数组firls:使用最小平方误差最小化方法设计线性相位 FIR 滤波器firpmord:Parks-McClellan 最优等波纹 FIR 阶数估计器gaussdesign:Gaussian FIR 脉冲整形滤波器设计rcosdesign:升余弦滤波器设计tf2zp:将传递函数转换为零极点形式tf2zpk:将离散时间传递函数转换为零极点形式zplane:绘制z平面零极点图schurrc:从自相关向量 R 中计算反射系数decimate:在低通滤波后以较低的采样率对数据进行重采样fftfilt:FFT方法的重叠相加滤波zp2sos:将零极增益模型转换为二阶节模型filternorm:计算数字滤波器的范数filtfilt:零相位前向和后向数字 IIR 滤波filtord:计算滤波器阶数sos2tf:将二阶段转换成传递函数模型ellip:Elliptic 滤波器设计cheby1:Chebyshev I型滤波器设计cheby2:Chebyshev II型滤波器设计impinvar:模拟到数字滤波器转换的脉冲不变方法tf2sos:将传递函数转换为二阶截止器形式parzenwin:创建Parzen窗口(三)北太真元系统仿真工具1、基础计算单元Discontinuous(新增3个)deadZoneDynamic:动态死区模块rateLimiterDynamic:动态速率限值模块saturationDynamic:动态限值模块discrete(新增6个)discreteDerivative:离散时间导数模块propagationDelay :传播延迟模块tappedDelay:将标量信号延迟多个采样周期并输出所有延迟版本"transferFuncFirstOrder:离散时间一阶传递函数transferFuncLeadOrLag :离散时间超前或滞后补偿器transferFuncRealZero:离散传递函数(实数零点,无极点)math(新增6个)decrementTimeToZero :将当前输入信号减去采样时间输出,如果结果小于零则输出零decrementRealWorld:当前信号值减一输出decrementStoredInteger:当前信号值减一输出,如果溢出会绕回decrementToZero:当前输入信号减一输出,如果结果小于零则输出零incrementRealWorld:当前输入信号加一输出incrementStoredInteger:当前输入信号加一输出lookupTables(新增9个)cosineLookup :该模块通过利用波的1/4对称性的查找表方法来实现余弦函数sineLookup:该模块通过利用波的1/4对称性的查找表方法来实现正弦函数exponentialLookup:该模块通过利用波的1/4对称性的查找表方法来实现正弦和余弦函数,只有一个输出端口,同时输出正弦和余弦函数值sinCosLookup :该模块通过利用波的1/4对称性的查找表方法来实现正弦和余弦函数。有两个输出端口,端口1输出正弦函数值,端口2输出余弦函数值preLookup:此模块在断点数据定义的区间集上定位输入信号的位置interpolationUsingPrelookup:此模块使用预先计算的区间索引和比值对表数据执行插值。interpolation1DUsingPrelookup:一维插值interpolation2DUsingPrelookup:二维插值interpolation3DUsingPrelookup:三维插值signalAttributes(新增14个)weightedSampleTime:使用加权采样时间对输入信号进行加减乘除运算probe:获取输入信号属性:数据宽度和采样时间accelerationConversion :加速度angleConversion:角度angularAccelerationConversion:角加速度angularVelocityConversion:角速度densityConversion :密度forceConversion:力JulianDateConversion:儒略历元和公历日期转换lengthConversion:长度massConversion:质量pressureConversion:压强temperatureConversion:热力学单位velocityConversion:速度2、行业计算单元controlSystemToolbox(新增2个)Varying Transfer Function:系数可变的一阶连续传递函数Discrete Varying Transfer Function:系数可变的一阶离散传递函数powertrainToolbox(新增6个)DCT Controller:双离合器变速器AMT Controller:自动手动变速器控制器Limited SlipDifferential:限滑差速器Open Differential:开式差速器Power Accounting Bus Creator:功率核算总线创建Transfer Case:开式差速器AerospaceToolbox(新增38个)Quaternion Modulus:四元数的模Quaternion Norm:四元数的范数Quaternion Rotation:四元数旋转Quaternion Normalize:四元数归一化Quaternion Multiplication:四元数乘积Quaternion Division:四元数除法accelerationConversion :加速度单位转换angleConversion:角度单位转换angularAccelerationConversion:角加速度单位转换angularVelocityConversion:角速度单位转换densityConversion :密度单位转换forceConversion:力单位转换JulianDateConversion:儒略历元和公历日期转换lengthConversion:长度单位转换massConversion:质量单位转换pressureConversion:压强单位转换temperatureConversion:热力学单位单位转换velocityConversion:速度单位转换Aerodynamic Forcesand Moments:空气动力学力和力矩4th Order Point Mass Forces (Longitudinal):四阶点质量力(纵向)4th Order Point Mass (Longitudinal):四阶点质量(纵向)6th Order Point Mass Forces (CoordinatedFlight):六阶点质量力(协调飞行)6th Order Point Mass (CoordinatedFlight):六阶点质量(协调飞行)Relative Ratio:相对大气比率Gain Scheduled Lead-Lag:具有增益计划系数的一阶超前-滞后控制器ISA Atmosphere Model :ISA大气模型Lapse Rate Model:温度递减率模型Delta UT1:UT1偏差Earth Orientation Parameters:地球定向参数Geoid Height:大地水准面高度Discrete Wind GustModel:离散风阵模块Horizontal Wind Model:水平风模型Wind Shear Model :风切变模型Three-axis Accelerometer:三轴加速度计模块Three-axis Gyroscope:三轴陀螺仪Estimate Center of Gravity:估算重心Estimate Inertia Tensor:估算惯性张量Besselian Epoch to Julian Epoch:贝塞尔历元转换为儒略历元vehicleDynamicsToolbox(新增12个)Motorcycle Chain:摩托车链条Rotational Inertia:转动惯性Split Torsional Compliance:分体式扭转柔度Torsional Compliance:分体式扭转柔度Active Differential:主动差速器Independent Suspension - Double Wishbone:双叉臂式独立悬架Independent Suspension - K and C:独立悬架的运动学和柔度测试Independent Suspension - MacPherson:麦弗逊独立悬架Solid Axle Suspension - Coil Spring:带螺旋弹簧的实心轴悬架Solid Axle Suspension - Leaf Spring:带钢板弹簧的实心轴悬架Twist-Beam Suspension - K and C:扭力梁运动学和柔度测试悬挂Vehicle Body 3DOF Dual Track:车辆车身3自由度双轨道AUTOSAR(新增5个)Curve:近似一维函数Curve Using Prelookup:使用先前计算的索引和分数数值来加速对一维函数的近似Map:近似二维函数Map Using Prelookup:使用先前计算的索引和分数数值来加速对二维函数的近似Prelookup:预查找3、行业模型控制系统模型(新增8个)电加热炉温度PID控制系统设计电加热炉温度双PID控制系统设计时延系统的PID控制双水箱的PID控制系统设计漆包机烘炉的PID控制系统设计单级倒立摆的PID控制系统设计滞后系统的大林控制算法系统设计基于LQR控制的倒立摆模型汽车模型(新增3个)汽车abs控制PID控制考虑人体和座椅的车体四分之一车体模型基于PID控制的车体四分之一振动模型机械系统模型(新增3个)两个自由度的弹簧减震系统平面五杆机构运动学仿真半正弦冲击时正切型非线性包装系统的冲激响应电力电子系统模型(新增1个)记忆电阻器模型二、优化(一)功能优化系统文件页替换为系统自带的页面;变量详情页、变量导入(mat\xlsx\xls\csv\路径管理)支持最大化;cell+struct 和 cell+cell 嵌套取值支持自动扩容;处于调试状态时,若执行交互式命令发生错误,命令行窗口仅显示命令本身报错,不再显示调用栈信息(二)函数优化title, subtitle:增加对数值数据类型的支持thetalim, rlim:增加对多个坐标区输入的支持xlim, ylim, clim:增加对多个坐标区输入的支持xticklabels, yticklabels, zticklabels:1.增加对数值数据类型的支持 2.增加对多个坐标区输入的支持polarhistogram:完善设置边界绘制直方图的功能vertcat, horzcat:完善并置的数据类型sum: 1. 增加对高维的支持 2. 输入参数增加指定 'all' 3. 输入参数增加指定是否忽略 nanmean: 1. 增加对高维的支持 2. 输入参数增加指定 'all' 3. 输入参数增加指定是否忽略 nanprod: 1. 增加对高维的支持 2. 输入参数增加指定 'all' 3. 输入参数增加指定是否忽略 nandisp:1. 直接显示字符串和字符数组 2. 不显示任何类型的空数组which:函数可增加返回值load_plugin, unload_plugin:不返回 ans 变量string:函数增加对 cell 的处理NameValueParse:增强键值对解析函数功能transpose, ctranspose: 增加对日期时间数据类型的支持block: 增加对日期时间数据类型的支持squeeze: 增加对日期时间数据类型的支持meshgrid:增加对输入空向量以及非向量数组的支持isa:增加对日期时间和表数据类型的支持isempty:增加对日期时间数据类型的支持readmatrix:增加CSV文件读取时自动识别分隔符的功能rem, mod: 增加对inf,nan 的处理(三)北太真元系统仿真工具系统文件页替换为系统自带的页面;子系统in/out模块封装进行限定;模型自动显示名称规则更新;搜索功能体验优化。三、BUG修复(一)功能BUG修复修复全局查找死机问题;修复变量详情页所选新建死机问题;解决全局搜索笔记本显示异常问题;修复调试无法退出问题;修复局部变量和内置函数重名,该局部变量无法对新变量赋值的问题;修复 end 在 struct+cell 发生嵌套时无法求值的问题,例如 a.b{end} 现在可以正确计算 end 的值;修复创建脚本文件然后马上运行,脚本会报错找不到的问题;修复中文路径下安装软件,启动会弹窗license不存在并启动失败的问题;修复代码编辑区选中内容使用F5/F9后,再运行脚本会卡住无法停止的问题;修复新建脚本直接运行提示路径加载操作仍然无法运行的问题。(二)函数BUG修复bar:修复了输入复数时绘制错误的问题;convertCharsToStrings:修复了入参数量为 0 时报错的问题;log10: 修复了复数运算结果不对的问题;sort:修复了sort 中使用 abs 结果可能错误的问题;log, sqrt:修复了log(NaN),sqrt(NaN) 等语句产生复数输出结果的问题;mod, rem:修复了函数输入为大整数时求值错误的问题;plus, minus, mtimes:修复了无参调用时闪退的问题;.^ :修复了输入为空矩阵时闪退的问题。(三)真元BUG修复解决了在特定情况下,代数环错误误报的问题;修复了部分行业计算单元在拖动到画布后,若未进行连线直接运行可能导致的软件异常退出问题;解决了复制带有子系统模块的内容到新文件粘贴后,撤销并恢复操作时子系统模块无法显示的问题。四、已知问题(一)北太天元调整分辨率及缩放会出现页面显示问题;大循环体退出调试缓慢问题;工作区无法显示被赋值为新增数据类型(如table、datetime、duration、calendarDuration)的变量(二)北太真元北太真元界面缩放存在显示问题。将真元v1.1及之前版本的模型导入v1.1.1版本时,若模型中涉及mathFunc、trigonometricFunc或discreteIntegrator模块,其参数设置将保持旧版界面,无法配置新版功能。建议重新从元件库中拖入相应模块以进行仿真。使用DCTController行业计算单元进行仿真时,可能因浮点数误差而产生较大的计算误差。在ubuntu20.04环境下导入fmu模型时,必须确保fmu模型的生成环境同为ubuntu20.04且包含glibc2.31,否则将导致运行错误。
v3.5.0_release【安装包获取】 baltamatica_3.5.0_release_win_x86_64 baltamatica_3.5.0_release_ubuntu20.04_amd64 baltamatica_3.5.0_release_uos20_arm64.deb 【新增功能】 点击查看 北太天元baltamatica_3.5.0 更新日志
v3.5.0_beta【安装包获取】 baltamatica_3.5.0_beta_win_x86_64 baltamatica_3.5.0_beta_ubuntu20.04_amd64 【新增功能】 点击查看 北太天元baltamatica_3.5.0_beta 更新日志
baltamatica 3.5.0_beta一、新增(一)新增功能1、IDE新增恢复默认布局功能;2、北太真元系统仿真工具仿真运行过程进度条显示;Simulink模型导入功能,新增基础计算单元的兼容。(二)新增函数1、主体函数(1)绘图:rticklabels: 设置或查询 r 轴刻度标签thetaticklabels:设置或查询 theta 轴刻度标签waterfall:瀑布图isgraphics:对有效的图形对象句柄为 Trueallchild:查找指定对象的所有子级daspect:控制沿每个轴的数据单位长度pbaspect:控制每个轴的相对长度ribbon:条带图cylinder:创建圆柱ellipsoid:创建椭圆体sphere:创建球面colororder:为可视化多个数据序列设置色序rgbplot:绘制颜色图lines:线条颜色图数组colorcube:Colorcube 颜色图数组prism:Prism 颜色图数组flag:flag 颜色图数组alim:设置或查询坐标区的 alpha 范围reset:将图形对象属性重置为其默认值smooth3:平滑处理三维数据rotate:以指定原点和方向旋转对象plotmatrix:散点图矩阵brighten:增亮或加深颜色图sky:Sky 颜色图数组hidden:消除网格图中的隐线(2)数学:pdepe:求解一维抛物-椭圆型PDE的初边界值问题pdeval:计算由pdepe生成的数值解在给定点上的插值和导数的插值pdentrp:pdepe的插值辅助函数bsxfun:对两个数组应用按元素运算(启用隐式扩展)(3)编程:assert:条件为 false 时引发错误mkdir:创建新目录baltamaticaroot:北太天元根文件夹lscmd:列出北太天元当前可调用所有命令的列表(4)数据导入和分析:type:显示文件内容fileread:以文本格式读取文件内容trenddecomp:寻找数据趋势quantile:数据集的分位数histcounts2:二元直方图bin计数accumarray:累加向量元素(5)语言基础知识:try, catch:执行语句并捕获产生的错误validateattributes:检查数组的有效性iskeyword:确定输入是否为 Baltamatica 关键字datetime:表示时间点的数组NaT:非时间 (Not-a-Time)eomday:一个月中的最后一天duration:固定长度单位的时间长度calendarDuration:以可变长度日历单位表示的时间长度now:当前日期和时间作为日期序列值clock:日期向量形式的当前日期和时间today:当前日期year:日期时间输入的年份值quarter:日期时间输入的季度值month:日期时间输入的月份值week:日期时间输入的周数值day:日期时间输入的日期值weekday:星期几hour:日期时间输入的小时分量minute:日期时间输入的分钟分量second:日期时间输入的秒分量ymd:日期时间的年、月和日数字hms:日期时间或持续时间的小时、分钟和秒数isnat:确定 NaT(非时间)元素isdst:确定夏令时元素isweekend:确定周末元素isdatetime:确定输入是否为日期时间数组table:具有命名变量的表数组(变量可包含不同类型的数据)array2table:将同构数组转换为表table2struct:将表转换为结构体数组convertvars:将表或时间表变量转换为指定的数据类型istable:确定输入是否为表istabular:确定输入是表还是时间表head:获取表、时间表或 tall 数组的前几行tail:获取表、时间表或 tall 数组的最后几行addvars:将变量添加到表或时间表中renamevars:重命名表或时间表中的变量movevars:在表或时间表中移动变量removevars:从表或时间表中删除变量splitvars:在表或时间表中拆分多列变量mergevars:将表或时间表变量合并成多列变量years:持续时间(以年为单位)days:持续时间,以天为单位hours:持续时间,以小时为单位minutes:以分钟为单位的持续时间calyears:日历持续时间(以年为单位)calquarters:日历持续时间(以季度为单位)calmonths:日历持续时间(以月为单位)calweeks:日历持续时间(以周为单位)caldays:日历持续时间(以天为单位)isduration:确定输入是否为持续时间数组iscalendarduration:确定输入是否为日历持续时间数组seconds:以秒为单位的持续时间milliseconds:以毫秒为单位的持续时间(6)辅助函数:setSimuStatus:仿真辅助函数2、工具箱函数(1)控制系统工具箱:ctrb:计算可控性矩阵ctrbf:可控性梯形形式obsv:计算可观测性矩阵obsvf:可观测性梯形形式(2)统计工具箱:dummyvar:创建虚拟变量geomean:计算几何平均值trimmean:计算修剪均值corr:计算线性或秩相关系数partialcorr:计算线性或秩偏相关系数tiedrank:计算样本的秩,调整平级关系gpfit:对广义帕累托数据进行参数估计和置信区间计算wblfit:计算Weibull分布参数的最大似然估计和置信区间copulacdf:Copula的累积概率函数copulapdf:Copula的概率密度函数copulaparam:Copula参数作为排序相关性的函数copulastat:获得排序相关系数copularnd:从 Copula 分布中随机生成向量mahal:计算马氏距离iwishrnd:生成逆Wishart随机矩阵wishrnd:生成Wishart随机矩阵canoncorr:计算矩阵样本特征系数和相关性regress:使用最小二乘法多元线性回归x2fx:将预测值转换为设计矩阵removenan:从输入中移除 NaN 值corrSpearman:计算 Spearman 相关系数矩阵corrPearson:计算Pearson相关系数矩阵corrKendall:Kendall 相关系数矩阵icdf:指定分布的逆累积分布函数pdf:指定分布的概率密度函数nbinfit:负二项分布数据的参数估计betalike:负Beta对数似然函数betafit:为Beta分布数据估计参数和置信区间gevfit:用于广义极值数据的参数估计和置信区间计算barttest:对数据进行巴特斯特检验evnegloglike:负极大似然估计dgammainc:带导数的不完全Gamma函数gammaincratio:不完全Gamma函数(3)信号处理工具箱:dftmtx:离散傅里叶变换矩阵czt:周期变换fwht:快速离散 Walsh-Hadamard 变换ifwht:快速逆离散Walsh-Hadamard变换hilbert:通过 Hilbert 变换生成离散时间解析信号butter:Butterworth 数字和模拟滤波器设计fircls:用约束最小二乘法设计线性相位滤波器intfilt:插值滤波器设计impzlength:数字滤波器的脉冲响应长度ismaxphase:判断最大相位滤波器是否为真isminphase:判断最小相位滤波器是否为真convmtx:生成卷积矩阵cell2sos:将单元格数组转换为二阶节矩阵sos2zp:二阶部分到零极点增益模型的转换zp2tf:零极点到传递函数的转换triang:创建三角窗plomb:创建Lomb Scargle周期图tfestimate:估计传递函数db:转换为分贝db2mag:dB到幅度的转换db2pow:分贝到功率的转换mag2db:幅度到分贝的转换pow2db:功率到分贝的转换pburg:利用Burg方法估计功率谱密度pcov:用协方差法估计功率谱密度pmcov:修正协方差法估计功率谱密度pmusic:通过MUSIC特征向量法进行频率估计freqz:数字滤波器的频率响应blackman:创建Blackman窗口barthannwin:创建改进 Bartlett-Hanning 窗口peig:通过特征向量法估计频率bartlett:创建Bartlett 窗口bitrevorder:将输入置换为位反转顺序digitrevorder:将输入置换为数字反转顺序xcorr2:计算二维互相关filtic:生成'filter'函数的初始条件corrmtx:创建自相关矩阵cconv:计算循环卷积arburg:通过 Burg 方法进行 AR 参数估计bohmanwin:创建Bohman 窗口flattopwin:创建平顶窗gausswin:创建高斯窗口hamming:创建汉明窗hann:创建Hann 窗口kaiser:创建凯泽窗nuttallwin:创建Nuttall 窗口taylorwin:创建泰勒窗口tukeywin:创建Tukey 窗口rlevinson:反向莱文森-德宾递归arcov:使用协方差方法进行AR参数估计is2rc:将反正弦参数转换为反射系数lar2rc:将对数面积比转换为反射系数lsf2poly:预测多项式的线谱频率poly2rc:将预测多项式转换为反射系数poly2ac:将预测多项式转换为自相关序列poly2lsf:线谱频率预测多项式rc2ac:自相关序列的反射系数rc2is:将反射系数转换为反正弦参数rc2lar:将反射系数转换为对数面积比rc2poly:将反射系数转换为预测多项式armcov:使用修改后的协方差方法进行AR参数估计prony:Prony方法用于时域IIR滤波器设计stmcb:通过 Steiglitz-McBride 迭代计算线性模型impz:数字滤波器的冲激响应blackmanharris:创建最小4项 Blackman-Harris 窗口fircls1:使用受约束的最小二乘法设计低通和高通FIR滤波器invfreqs:将频率响应数据拟合成连续时间滤波器invfreqz:将频率响应数据拟合成离散时间滤波器polystab:多项式稳定化fir1:使用窗口法设计FIR滤波器fir2:使用频率采样方法设计FIR滤波器rooteig:通过特征向量算法计算正弦曲线的频率和功率rootmusic:通过Root MUSIC算法计算正弦波的频率和幂polyscale:缩放多项式的根sos2cell:将二阶节矩阵转换为单元数组firls:使用最小平方误差最小化方法设计线性相位 FIR 滤波器firpmord:Parks-McClellan 最优等波纹 FIR 阶数估计器gaussdesign:Gaussian FIR 脉冲整形滤波器设计rcosdesign:升余弦滤波器设计tf2zp:将传递函数转换为零极点形式tf2zpk:将离散时间传递函数转换为零极点形式zplane:绘制z平面零极点图schurrc:从自相关向量 R 中计算反射系数decimate:在低通滤波后以较低的采样率对数据进行重采样fftfilt:FFT方法的重叠相加滤波zp2sos:将零极增益模型转换为二阶节模型filternorm:计算数字滤波器的范数filtfilt:零相位前向和后向数字 IIR 滤波filtord:计算滤波器阶数sos2tf:将二阶段转换成传递函数模型ellip:Elliptic 滤波器设计cheby1:Chebyshev I型滤波器设计cheby2:Chebyshev II型滤波器设计impinvar:模拟到数字滤波器转换的脉冲不变方法tf2sos:将传递函数转换为二阶截止器形式parzenwin:创建Parzen窗口(三)北太真元系统仿真工具1、基础计算单元Discontinuous(新增3个)deadZoneDynamic:动态死区模块rateLimiterDynamic:动态速率限值模块saturationDynamic:动态限值模块discrete(新增6个)discreteDerivative:离散时间导数模块propagationDelay :传播延迟模块tappedDelay:将标量信号延迟多个采样周期并输出所有延迟版本"transferFuncFirstOrder:离散时间一阶传递函数transferFuncLeadOrLag :离散时间超前或滞后补偿器transferFuncRealZero:离散传递函数(实数零点,无极点)math(新增6个)decrementTimeToZero :将当前输入信号减去采样时间输出,如果结果小于零则输出零decrementRealWorld:当前信号值减一输出decrementStoredInteger:当前信号值减一输出,如果溢出会绕回decrementToZero:当前输入信号减一输出,如果结果小于零则输出零incrementRealWorld:当前输入信号加一输出incrementStoredInteger:当前输入信号加一输出lookupTables(新增9个)cosineLookup :该模块通过利用波的1/4对称性的查找表方法来实现余弦函数sineLookup:该模块通过利用波的1/4对称性的查找表方法来实现正弦函数exponentialLookup:该模块通过利用波的1/4对称性的查找表方法来实现正弦和余弦函数,只有一个输出端口,同时输出正弦和余弦函数值sinCosLookup :该模块通过利用波的1/4对称性的查找表方法来实现正弦和余弦函数。有两个输出端口,端口1输出正弦函数值,端口2输出余弦函数值preLookup:此模块在断点数据定义的区间集上定位输入信号的位置interpolationUsingPrelookup:此模块使用预先计算的区间索引和比值对表数据执行插值。interpolation1DUsingPrelookup:一维插值interpolation2DUsingPrelookup:二维插值interpolation3DUsingPrelookup:三维插值signalAttributes(新增14个)weightedSampleTime:使用加权采样时间对输入信号进行加减乘除运算probe:获取输入信号属性:数据宽度和采样时间accelerationConversion :加速度angleConversion:角度angularAccelerationConversion:角加速度angularVelocityConversion:角速度densityConversion :密度forceConversion:力JulianDateConversion:儒略历元和公历日期转换lengthConversion:长度massConversion:质量pressureConversion:压强temperatureConversion:热力学单位velocityConversion:速度2、行业计算单元controlSystemToolbox(新增2个)Varying Transfer Function:系数可变的一阶连续传递函数Discrete Varying Transfer Function:系数可变的一阶离散传递函数powertrainToolbox(新增6个)DCT Controller:双离合器变速器AMT Controller:自动手动变速器控制器Limited SlipDifferential:限滑差速器Open Differential:开式差速器Power Accounting Bus Creator:功率核算总线创建Transfer Case:开式差速器AerospaceToolbox(新增38个)Quaternion Modulus:四元数的模Quaternion Norm:四元数的范数Quaternion Rotation:四元数旋转Quaternion Normalize:四元数归一化Quaternion Multiplication:四元数乘积Quaternion Division:四元数除法accelerationConversion :加速度单位转换angleConversion:角度单位转换angularAccelerationConversion:角加速度单位转换angularVelocityConversion:角速度单位转换densityConversion :密度单位转换forceConversion:力单位转换JulianDateConversion:儒略历元和公历日期转换lengthConversion:长度单位转换massConversion:质量单位转换pressureConversion:压强单位转换temperatureConversion:热力学单位单位转换velocityConversion:速度单位转换Aerodynamic Forcesand Moments:空气动力学力和力矩4th Order Point Mass Forces (Longitudinal):四阶点质量力(纵向)4th Order Point Mass (Longitudinal):四阶点质量(纵向)6th Order Point Mass Forces (CoordinatedFlight):六阶点质量力(协调飞行)6th Order Point Mass (CoordinatedFlight):六阶点质量(协调飞行)Relative Ratio:相对大气比率Gain Scheduled Lead-Lag:具有增益计划系数的一阶超前-滞后控制器ISA Atmosphere Model :ISA大气模型Lapse Rate Model:温度递减率模型Delta UT1:UT1偏差Earth Orientation Parameters:地球定向参数Geoid Height:大地水准面高度Discrete Wind GustModel:离散风阵模块Horizontal Wind Model:水平风模型Wind Shear Model :风切变模型Three-axis Accelerometer:三轴加速度计模块Three-axis Gyroscope:三轴陀螺仪Estimate Center of Gravity:估算重心Estimate Inertia Tensor:估算惯性张量Besselian Epoch to Julian Epoch:贝塞尔历元转换为儒略历元vehicleDynamicsToolbox(新增12个)Motorcycle Chain:摩托车链条Rotational Inertia:转动惯性Split Torsional Compliance:分体式扭转柔度Torsional Compliance:分体式扭转柔度Active Differential:主动差速器Independent Suspension - Double Wishbone:双叉臂式独立悬架Independent Suspension - K and C:独立悬架的运动学和柔度测试Independent Suspension - MacPherson:麦弗逊独立悬架Solid Axle Suspension - Coil Spring:带螺旋弹簧的实心轴悬架Solid Axle Suspension - Leaf Spring:带钢板弹簧的实心轴悬架Twist-Beam Suspension - K and C:扭力梁运动学和柔度测试悬挂Vehicle Body 3DOF Dual Track:车辆车身3自由度双轨道AUTOSAR(新增5个)Curve:近似一维函数Curve Using Prelookup:使用先前计算的索引和分数数值来加速对一维函数的近似Map:近似二维函数Map Using Prelookup:使用先前计算的索引和分数数值来加速对二维函数的近似Prelookup:预查找3、行业模型控制系统模型(新增8个)电加热炉温度PID控制系统设计电加热炉温度双PID控制系统设计时延系统的PID控制双水箱的PID控制系统设计漆包机烘炉的PID控制系统设计单级倒立摆的PID控制系统设计滞后系统的大林控制算法系统设计基于LQR控制的倒立摆模型汽车模型(新增3个)汽车abs控制PID控制考虑人体和座椅的车体四分之一车体模型基于PID控制的车体四分之一振动模型机械系统模型(新增3个)两个自由度的弹簧减震系统平面五杆机构运动学仿真半正弦冲击时正切型非线性包装系统的冲激响应电力电子系统模型(新增1个)记忆电阻器模型二、优化(一)功能优化系统文件页替换为系统自带的页面;变量详情页、变量导入(mat\xlsx\xls\csv\路径管理)支持最大化;(二)函数优化title,subtitle优化:不支持数字输入thetalim,rlim优化:不支持多个坐标区设置xlim,ylim,clim优化:不支持多个坐标区设置直角坐标区:坐标轴优化问题xticklabels,yticklabels,zticklabels:1.使这三个函数的入参支持数值数据类型 2. 使这三个函数支持多坐标区输入axes:完善设置当前坐标区的功能bar,barh:输入坐标区加数据提示输入参数过多polarhistogram:完善设置边界绘制直方图功能,解决参数校验顺序引起的错误时刷新问题ScatterObject:完善该对象绘制数据的获取和校验bar3:优化向量绘图,解决属性无法识别编辑类绘图函数:解决获取图窗时属性判断导致的图形清空问题rlim,thetalim,rticklabels,thetaticklabels功能完善:在默认直角坐标区调用上述几个极坐标区编辑函数未报错vertcat,horzcat完善: 支持并置的数据类型不完整sum完善: 1. 不支持高维 2. 不支持指定 'all' 3. 不支持指定是否忽略 nanmean完善: 1. 不支持高维 2. 不支持指定 'all' 3. 不支持指定是否忽略 nanprod完善: 1. 不支持高维 2. 不支持指定 'all' 3. 不支持指定是否忽略 nandisp改进:1. 会直接显示字符串和字符数组 2. 不显示任何类型的空数组which完善:which 函数可增加返回值load_plugin/unload_plugin改进: 不返回 ans 变量的处理string完善:string 函数对 cell 的处理NameValueParse完善: 键值对解析函数功能增强transpose ctranspose完善: 支持时间日期block完善: 支持时间日期squeeze完善: 支持时间日期meshgrid:完善不支持输入空向量以及非向量数组的问题colorbar优化:colorbar支持新增色条block:优化二维矩阵的单冒号 block set(a(:,exp) 或 a(exp,:))的维度判断逻辑:向量赋值(等号左侧的索引信息也是向量),只需 size 相同即可(三)北太真元系统仿真工具系统文件页替换为系统自带的页面;子系统in/out模块封装进行限定;模型自动显示名称规则更新;搜索功能体验优化。三、BUG修复(一)功能BUG修复修复全局查找死机问题;修复变量详情页所选新建死机问题;解决全局搜索笔记本显示异常问题;修复调试无法退出问题;(二)函数BUG修复坐标区绘图:R轴次刻度线不闭合colorbar:colorbar设置LimitsMode时闪退meshz:meshz的瀑布数据扩充错误SurfaceObject:1.SurfaceObject设置CDataCDataMapping为direct闪退;2.未对输入复数进行判断contour3:对 contour系列函数的 ZLocation 默认值进行了校正bar:输入复数时绘制错误rlim,thetalim,rticks,thetaticks:输入复数时应该提示不支持复数值convertCharsToStrings:入参为 0 个时报错,与matlab不一致log10: 复数运算结果不对sort:修复 sort 使用 abs 结果可能错误的问题unique:修复缺失的头文件cellfun:实现cellfun多个功能log/sqrt:1.修复低版本编译器报错 2.log(NaN) sqrt(NaN) 等语句产生复数输出结果的问题mod/rem:修复 mod/rem 在输入为大整数时求值出错的问题block:修复“block get,下角标的维度超过数据本身维度且合法时,会抛 std::bad_alloc 异常或闪退,比如 a=rand(2,3);a(1,:,:,:)”的问题brace:修复cell{:}的冒号取值问题,更改1 x 1 数组扩张逻辑readmatrix:为 CSV 文件的读取增加自动识别分隔符的简单算法plus minus mtimes: 无参调用闪退.^ :修复输入空矩阵时,.^ 会闪退的问题rem mod: 处理 inf nan(三)真元BUG修复修复某些情况下代数环错误误报问题。四、已知问题(一)北太天元调整分辨率及缩放会出现页面显示问题;大循环体退出调试缓慢问题;工作区无法显示被赋值为新增数据类型(如table、datetime、duration、calendarDuration)的变量。(二)北太真元北太真元界面缩放显示问题。如将真元V1.1及之前版本的模型文件导入真元V1.1.1版本的平台内,如果模型中使用了mathFunc模块、trigonometricFunc模块或discreteIntegrator,那么其参数设置界面仍然是旧版本界面,无法设置更新后的功能参数。建议用户从元件库中重新拖入对应模块进行仿真。使用行业计算单元DCTController进行仿真运算时,可能存在由浮点数误差导致的较大的计算误差。fmu模型导入功能,在ubuntu20.04环境下使用时,fmu模型的生成环境必须是ubuntu20.04环境,并且包含glibc2.31,否则会运行错误。