北太天元 baltamatica_3.5.0 更新日志

标签: 软件版本更新

社区小助手 2024-04-29 16:13:47

baltamatica 3.5.0_release


一、新增


(一)新增功能


1、IDE

  • 新增恢复默认布局功能;


2、北太真元系统仿真工具

  • 仿真运行过程进度条显示;

  • Simulink模型导入功能,新增基础计算单元的兼容。


(二)新增函数


1、主体函数


(1)绘图:
  • rticklabels: 设置或查询 r 轴刻度标签

  • thetaticklabels:设置或查询 theta 轴刻度标签

  • waterfall:瀑布图

  • isgraphics:对有效的图形对象句柄为 True

  • allchild:查找指定对象的所有子级

  • 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. 输入参数增加指定是否忽略 nan

  • mean: 1. 增加对高维的支持 2. 输入参数增加指定 'all' 3. 输入参数增加指定是否忽略 nan

  • prod: 1. 增加对高维的支持 2. 输入参数增加指定 'all' 3. 输入参数增加指定是否忽略 nan

  • disp: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,否则将导致运行错误。


110 0 0 收藏 回复

回复

回复

重置 提交