发帖
日期

北太天元 baltamatica_4.0.0 更新日志

baltamatica 4.0.0_release一、新增功能1、新增内核能力(1)新增面向对象编程功能:支持类的单一继承支持定义类特性Abstract:将类标记为抽象类Sealed:密封类,不能派生子类Hidden:隐藏类支持如下属性特性GetAccess、SetAccess:支持分别对属性设置读权限和写权限Abstract:抽象属性支持如下方法特性Abstract:抽象方法Sealed:密封方法,即子类无法重写支持调用超类构造函数以及超类同名方法支持方法声明语法(仅限抽象方法)布尔类型的特性现在支持使用~表示特性值是false,例如~Hidden(2)新增语法特性:表格类型的动态属性语法支持非字符串类型的输入,例如 T.(1)以及 T.(1) = b支持结构体数组赋值时增加字段的语法,例如 s = struct('x', {1,2}); s(1).y = 1支持函数句柄绑定到插件函数和类的静态函数(3)新增BP 文件类型:现在可将类定义加密为 BP 文件,且 BP 文件对 M 脚本(非函数)的支持更加完善help函数可以读取 BP 文件中的内容(4)新增时间表(timetable)数据类型的支持(5)新增SDK能力:支持面向对象相关操作,包括读写对象属性值、获取属性列表等支持对时间表类型数据的操作增加 bxArray 之间的复制函数 bxCopyArray 和 bxCopyArrayS增加类型转化函数 bxMakeArrayComplex bxMakeArrayReal bxResetArray增加打印 bxArray 内容的函数 bxArrayToStdout bxArrayToCStr新增表格相关的函数:bxRenameTableRow 用于在表格中设置指定行名称新增持续时间数组相关的函数:bxGetDurationDisplayString 用于获取持续时间数组打印字符串2、新增主体函数(1)数学:函数名函数说明gallery生成测试矩阵pagenorm按页求矩阵或向量范数tensorprod两个张量间的张量积colperm列置换(2)计算几何(compu_geo插件):函数名函数说明boundaryshape从二维三角剖分创建 polyshapensidedpoly正多边形polybuffer围绕点、线或 polyshape 对象创建缓冲区polyshape二维多边形addboundary为 polyshape 对象添加边界rmboundary删除 polyshape 对象的边界rmholes删除 polyshape 中的孔rmslivers删除 polyshape 边界离群值polygon_rotate旋转 polyshapescale缩放 polyshapesortboundaries对 polyshape 边界进行排序sortregions对 polyshape 区域进行排序translate平移 polyshapepolygon_boundarypolyshape 边界的顶点坐标holes将 polyshape 孔边界转换为 polyshape 对象数组ishole确定 polyshape 边界是否为孔polygon_isinterior确定给定的点是否在 polyshape 内nearestvertex查询最近的 polyshape 顶点numboundariespolyshape 的边界数numsidespolyshape 的边数overlaps确定 polyshape 对象是否重叠polygon_plot绘制 polyshaperegions访问 polyshape 区域polygon_area计算 polyshape 的面积boundingboxpolyshape 的边界框centroidpolyshape 的矩心polygon_convhullpolyshape 的凸包turningdist计算 polyshape 对象之间的形变量polygon_triangulation三角剖分 polyshapepolygon_perimeter计算 polyshape 的周长polygon_intersect计算 polyshape 对象的交集polygon_subtract两个 polyshape 对象的差集polygon_unionpolyshape 对象的并集polygon_xor两个 polyshape 对象的异或stlread从 STL 文件创建三角剖分stlwrite从三角剖分创建 STL 文件(3)图论(graphtheory插件):函数名函数说明graph创建无向图结构digraph创建有向图结构addnode将新节点添加到图rmnode从图中移除节点,并删除与该节点相关的所有边addedge向图添加新边rmedge从图中删除边flipedge在有向图中反转边的方向numnodes图中的节点数numedges图中的边数findnode在图中查找节点,并返回与该节点相关的图节点对象findedge定位图中的边edgecount两个节点之间的边数reordernodes对图节点重新排序subgraph提取子图conncomp图的连通分量biconncomp双连通图分量condensation图凝聚toposort有向无环图的拓扑顺序isdag确定有向图是否为有向无环图bfsearch广度优先图搜索dfsearch深度优先图搜索shortestpath两个单一节点之间的最短路径shortestpathtree从节点的最短路径树distances所有节点对组的最短路径距离degree图节点的度indegree有向图节点的入度outdegree有向图节点的出度adjacency图邻接矩阵incidence图关联矩阵laplacian图的拉普拉斯矩阵printgraph打印图的详细信息,包括顶点和边的属性setnodeprop设置节点属性setedgeprop设置边属性(4)绘图:函数名函数说明datetick日期格式的刻度标签alphamap指定图窗透明度shrinkfaces减小补片面的大小polarbubblechart极坐标气泡图clabel为等高线图添加高程标签rectangle创建带有尖角或圆角的矩形alpha向坐标区中的对象添加透明度cmunique消除颜色图中的重复颜色;将灰度或真彩色图像转换为索引图像cmpermute重新排列颜色图中的颜色surfnorm曲面图法线pie3三维饼图surf2patch将曲面数据转换为补片数据loglog双对数刻度图semilogx半对数图(x 轴有对数刻度)semilogy半对数图(y 轴有对数刻度)patch创建彩色多边形的补片rose角直方图heatmap创建热图sortx对热图行中的元素进行排序sorty对热图列中的元素进行排序diffuse计算漫反射specular计算镜面反射(5)编程:函数名函数说明namedargs2cell将包含名称-值对组的结构体转换为元胞数组isvarname判断输入的字符串是否是合法的北太天元变量名mfilename返回当前执行的代码所在的 M 文件或类名unzip提取 zip 文件的内容zip将文件压缩到 zip 文件中untar提取 tar 文件的内容tar将文件压缩到 tar 文件中gunzip提取 GNU zip 文件的内容gzip将文件压缩到 GNU zip 文件中genpath生成搜索路径list_toolbox列出当前已授权的工具箱列表以及它们的加载状态enable_toolbox启用指定名称的工具箱disable_toolbox禁用指定名称的工具箱toolbox_help显示已加载工具箱中由动态库提供的函数名称列表(6)数据导入和分析:函数名函数说明linkaxes同步多个坐标区的范围topkrows矩阵的前k行排序iqr四分位距rescale对数据进行缩放ischange检测数据中的突变点splitapply将数据分组并应用函数findgroups查找分组并返回组号standardizeMissing插入标准缺失值(7)语言基础:函数名函数说明exceltime将北太天元日期时间转换为 Excel 日期数字posixtime将北太天元日期时间转换为 POSIX 时间juliandate将北太天元日期时间转换为儒略日期yyyymmdd将北太天元日期时间转换为 YYYYMMDD 数值m2xdate将北太天元日期转换为 Excel 日期序列值x2mdate将 Excel 日期序列值转换为北太天元日期timezones列出时区leapseconds列出 datetime 数据类型支持的所有闰秒dateshift推移日期或生成日期与时间序列timetable创建时间表数组istimetable确定输入是否为时间表stack将来自输入表的数据堆叠到输出表的一个变量中native2unicode将数值字节转换为 Unicode 字符表示形式unicode2native将 Unicode 字符表示形式转换为数值字节timetable2table将时间表转换为表table2timetable将表转换为时间表regexp匹配正则表达式(区分大小写)regexpi匹配正则表达式(不区分大小写)regexprep使用正则表达式替换文本regexptranslate将文本转换为正则表达式sscanf从字符串读取格式化数据isuniform检查数组是否均匀间隔flipdim沿着指定维度翻转矩阵cellplot以图形方式显示元胞数组的结构体(8)其它:函数名函数说明vectorize向量化表达式timeit测量运行函数所需的时间3、新增集成开发环境(IDE)功能(1)新增短信验证码登录功能(2)增加class数据展示以及交互(3)增加class相关关键字高亮以及缩进(4)工具栏增加插件和工具箱按钮(5)增加软件在线更新功能(4)增加编辑器和命令行窗口字体大小在状态栏的显示与调整功能4、新增工具箱能力(1)新增深度学习工具箱,内置模型与函数如下:类型名称说明预训练模型vgg19Pytorch预训练模型,用于执行图片预测vgg16vgg13vgg11squeezenet1_1squeezenet1_0shufflenet_v2_x2_0shufflenet_v2_x1_5shufflenet_v2_x1_0shufflenet_v2_x0_5resnet50resnet34resnet18resnet152resnet101mobilenet_v2inception_v3googlenetefficientnet_b7efficientnet_b6efficientnet_b5efficientnet_b4efficientnet_b3efficientnet_b2efficientnet_b1efficientnet_b0densenet201densenet169densenet161densenet121alexnet函数trainNetwork训练神经网络predictNetwork使用神经网络执行预测任务(2)新增代码生成工具箱可通过命令行窗口命令将m函数转化为C++代码,支持功能如下:类型子类型算符运算符算术运算符+:加法-:减法*:矩阵乘法.*:数组元素逐个乘法/:矩阵右除法./:数组元素逐个除法\:矩阵左除法.\:数组元素逐个左除法^:矩阵乘幂.^:数组元素逐个乘幂-':矩阵转置(共轭转置).':矩阵转置(非共轭)关系运算符==:等于~=:不等于>:大于<:小于>=:大于等于<=:小于等于逻辑运算符&:元素逐个与运算|:元素逐个或运算~:取反运算其他运算符::用于生成向量、索引=:赋值运算符':转置运算符.:结构体字段访问( ):用于索引数组和调用函数[ ]:用于创建数组{ }:用于创建和访问元胞数组...:行连接符,表示代码的续函数数学运算相关【abs】:取绝对值【exp】:计算指数【log】:自然对数【log10】:常用对数(底数10)【log2】:二进制对数【sqrt】:平方根【norm】:向量或矩阵的范数【sum】:求和【mean】:平均值【median】:中位数【std】:标准差矩阵和数组操作【size】:获取矩阵尺寸【length】:获取长度【numel】:获取元素数量【transpose】:转置(非共轭)【ctranspose】:共轭转置【min】:最小值【max】:最大值【ones】:创建全为1的矩阵【zeros】:创建全为0的矩阵【magic】:生成幻方矩阵【rand】:生成随机数文件操作【load】:加载文件数据【save】:保存数据到文件系统和错误处理【clear】:清除变量【disp】:显示变量值【error】:显示错误信息线性代数【eig】:求特征值和特征向量(3)新增计算机视觉工具箱包含以下函数:函数名函数说明detectFASTFeatures使用FAST算法检测角点detectHarrisFeatures使用Harris-Stephens算法检测角点detectMinEigenFeatures使用最小特征值算法检测角点detectORBFeatures检测ORB关键点detectSIFTFeatures检测SIFT特征detectSURFFeatures检测SURF特征extractFeatures提取感兴趣点的描述符(特征)extractLBPFeatures提取LBP特征extractHOGFeatures提取HOG特征extractORBFeatures提取ORB特征extractSIFTFeatures提取SIF T特征extractSURFFeatures提取SURF特征extractFREAKFeatures提取FREAK特征matchFeatures特征匹配selectStrongest选择得分最高的部分关键点selectUniform按均匀分布选择部分关键点estgeotform2d根据匹配点对估计2维几何变换estgeotform3d根据匹配点对估计3维几何变换insertMarker在图像中插入标记insertShape在图像中插入形状showMatchedFeatures显示匹配的特征点binaryFeatures用于存储二值特征向量的对象cornerPoints用于存储角点的对象ORBPoints用于存储ORB关键点的对象SIFTPoints用于存储SIFT兴趣点的对象SURFPoints用于存储SURF兴趣点的对象markORBPoints在图像中标记ORB关键点imp lotKeypoints在图像中绘制关键点(4)新增医学图像工具箱包含以下函数:类型函数名函数说明读写和空间参考medicalImage2维医学图像像素数据和元数据extractFrame提取2维医学图像序列一帧的像素数据medicalVolume3维医学图像体素数据和空间参考信息extractSlice提取3维医学图像一个切片的体素和空间细节replaceSlice替换3维医学图像一个切片的体素值sliceCorners提取3维医学图像一个切片的角体素坐标sliceLimits提取3维医学图像一个切片在患者坐标系中x, y, z的范围montage在患者坐标中以蒙太奇形式显示医学图像切片或帧medvol2struct将工具箱medical Volume对象转换为北太天元结构体(警告:建议尽量不使用该函数,面临将来弃用风险)dicominfo从DICOM文件中读取元数据dicomread读取DICOM图像getPixelData获取DICOM文件的像素数据isnrrd检查文件是否为有效NRRD文件nrrdinfo从NRRD文件读取元数据nrrdread读取NRRD图像niftiinfo从NIfTI文件读取元数据niftiread读取NIfTI图像niftiwrite使用NIfTI格式将3维医学图像写入文件预处理和增强imfilter对图像进行滤波medfilt22维中值滤波medfilt33维中值滤波imgaussfilt图像的2维高斯滤波(5)PNT工具箱包含以下函数:函数名函数说明blh2ecef经纬高坐标系转地心地固坐标系位置blh2local将经纬高坐标位置转换为以某个点建立的n系为本地坐标系之中dposrEND2drvec将卡尔曼滤波器中的位置误差估计值引起的导航坐标系旋转转换为等效旋转矢量DrawFun误差图画图功能EarthModel定义WGS84框架地球模型ecef2blh地心地固坐标系位置转经纬高euler2matrix欧拉角转方向余弦矩阵euler2quat欧拉角转四元数getgh获得大地重力矢量getRm求取子午圈曲率半径getRn求取卯酉圈曲率半径getWen_n获取导航坐标系运动引起的转动角速度getWie_n地球自转在导航坐标系的表示matrix2quat方向余弦矩阵转四元数pos2quat位置转四元数qinv四元数求逆qmult四元数相乘qmultvec实现四元数直接和3D向量乘法quat2matrix四元数转方向余弦矩阵quatmod求四元数模值quatnorm求四元数范数quatnormalize四元数归一化skew求反对称矩阵askew33求反对称矩阵Cecef2llh方向余弦矩阵转经纬高cros三维向量叉乘dpos2drv将卡尔曼滤波器中的位置误差估计值引起的导航坐标系旋转转换为等效旋转矢量EAttUpdate地心地固坐标系下的姿态更新ecef2llh地心地固坐标系位置转经纬高EPosUpdate地心地固坐标系下的位置更新EVelUpdate地心地固坐标系下的速度更新getg获得大地重力矢量GetRm求取子午圈曲率半径GetRn求取卯酉圈曲率半径getWenn获取导航坐标系运动引起的转动角速度getWien地球自转在导航坐标系的表示invq四元数求逆KFUpdate卡尔曼滤波一步预测llh2ecef经纬高转地心地固坐标系m2q方向余弦矩阵转四元数pos2q位置转四元数q2euler四元数转欧拉角q2m四元数转方向余弦矩阵q2pos四元数转位置qmul四元数相乘qmulvec实现四元数直接和3D向量乘法qnormalize四元数归一化RobustKfUpdateIGG3卡尔曼滤波量测更新rv2quat旋转矢量转四元数WAttUpdate世界坐标系下的姿态更新WPosUpdate世界坐标系下的位置更新WVelUpdate世界坐标系下的速度更新Init_Navigation_system配置函数Init_Navigation_system330配置函数Init_Navigation_system_sins配置函数Start_Navigation_System组合导航主函数Feedback卡尔曼滤波反馈修正KalmanFilterUpdate卡尔曼滤波量测更新KfPredict卡尔曼滤波一步预测LcKalmanFilterUpdate卡尔曼滤波松组合模型MechanisationSINS姿态、速度和位置更新函数Start_SINS_SystemSINS解算主函数(6)脑电工具箱包含以下函数:函数名函数说明eeg_checkchanlocs检查脑电数据集通道位置结构的一致性。eeg_checkset检查数据集参数一致性eeg_eval将脑电工具箱函数应用于输入数据集的集合eeg_getdatact从指定的数据集或组件活动中获取EEG数据eeg_getversion获取脑电版本号(版本嵌入在脚本中,编辑函数查看版本)。eeg_global声明全局脑电数据变量。eeg_hist脑电数据基的历史eeg_options选项文件/处理脑电数据选项eeg_optionsbackup脑电处理工具箱选项eeg_retrieve从所有脑电数据中检索数据集eeg_store将数据集存储到ALLEEG中eegh历史记录功能gethelpvar将m文件帮助消息头转换为输出变量getkeyval从'key', 'val'序列字符串中获取变量值。plugin_askinstall从GUI或命令行调用安装脑电处理工具箱插件。plugin_install安装脑电处理工具箱插件。由PLUGIN_ASKINSTALL调用。plugin_urlread以字符串形式返回URL的内容。plugin_urlwrite以字符串形式发送URL的内容。vararg2str使用EVAL命令将参数转换为字符串以便求值errordlg2生成一个带有指定消息和(可选)标题的弹出对话框。finputcheck检查函数{'key','value'}输入参数对inputdlg2输入功能克隆与着色并为脑电处理工具箱提供帮助。listdlg2listdlg函数克隆与着色并为脑电处理工具箱提供帮助。pophelp与 HTHELP相同,但不会在窗口下崩溃。questdlg2questdlg函数克隆与着色并为脑电处理工具箱提供帮助。supergui一个全面的GUI自动构建器。eeg_boundarytype返回边界事件。eeg_chaninds在脑电图结构中查找通道指数。eeg_decodechan给定一个输入EEG数据集结构,输出一个新的EEG数据结构,保留和/或排除指定的时间/延迟、数据点、通道和/或分段范围。eeg_eegrej脑电工具箱数据集中连续数据的拒绝部分eeg_emptyset使用默认值初始化脑电数据集结构。eeg_epoch2continuous将分段数据集转换为连续数据集,其中数据分段由边界事件分隔。eeg_epochformat将数据集的epoch信息从结构体转换为数组,反之亦然。eeg_findboundaries返回边界事件的索引eeg_interp插入数据通道eeg_isboundary检测是否是边界事项eeg_lat2point将相对于脑电数据分段的时间锁定事件的时间单位延迟转换为数据点的延迟百分比。eeg_mergelocs合并通道结构,同时保留通道顺序eeg_mergelocs_diffstruct合并通道结构,同时保留通道顺序(diffstruct)eeg_point2lat将数据点延迟转换为相对于时间锁定的延迟(以毫秒为单位)。eeg_rejmacro用于执行数据拒绝的所有pop_ functions的内部脑电处理工具箱的宏。eeg_urlatency求原始连续数据中某个时间点的原始 (ur) 延迟。pop_averef将脑电图数据集转换为平均参考值。pop_biosig使用 BIOSIG 工具箱将数据文件导入脑电处理工具箱pop_chancenter最近的笛卡尔 X,Y,Z 通道坐标pop_chancoresp自动定义两个通道位置结构 之间的对应关系(通过匹配通道标签),否则使用用户输入 GUI。pop_chanedit(编辑通道位置文件)编辑脑电数据集EEG.chanlocs的通道位置结构。pop_chansel弹出图形界面选择通道pop_editeventvals编辑EEG数据集结构中包含的事件。如果数据集是唯一的输入,则会弹出一个窗口,允许用户插入相关的参数值。pop_eegplot(绘制时间序列图)使用滚动显示器直观地检查脑电图数据。 对视觉上(和/或先前)选择的数据部分(即连续数据的延伸或整个数据周期)进行拒绝或标记。pop_epoch(分段)通过提取时间锁定在特定事件类型或事件索引上的数据分段,将连续EEG数据集转换为分段的数据。也可以对已经分段的数据集进行次分段(如果次分段大小相同或更小)。这个pop_function调用EPOCH。pop_erpimage绘制给定脑电信号通道或独立分量的erp图像图。pop_importepoch将epoch和/或epoch事件信息导出到EEG数据集的事件结构数组。pop_interp插入数据通道pop_loadset加载脑电图数据集。 如果没有参数,则弹出一个输入窗口。pop_plotdata绘制矩形阵列中 EEG 通道或独立分量的平均值。 否则,(过度)绘制单个试验。pop_plottopo使用 PLOTTOPO 以地形数组格式绘制一个或多个串联的多通道数据纪元pop_prop绘制通道或独立组件的属性。pop_readlocs加载通道位置文件(如果没有参数,则弹出交互式窗口)。pop_reref(重参考)将 EEG 数据集转换为平均参考或新的公共参考通道(或多个通道)。 调用 REREF。pop_resample(降采样 )重采样数据集(弹出窗口)。pop_runica执行独立成分分析(ICA)。使用 RUNICA、BINICA 或其他 ICA 或其他线性分解运行 EEG 数据集的 ICA 分解。pop_saveset保存一个或多个脑电图数据集结构pop_select(选择或删除通道)给定输入 EEG 数据集结构,输出保留和/或排除指定时间/延迟、数据点、通道和/或纪元范围的新 EEG 数据结构。pop_selectcomps使用按钮显示组件,以可视化其属性并将其标记为拒绝。pop_selectevent在脑电图数据集中查找事件。pop_spectopo绘制指定数据通道或成分的频谱图。pop_topoplot在图形窗口中绘制头皮图。如果输入参数的数量少于3,则弹出交互式查询窗口。 对TOPOPLOT进行(可能是重复)调用。acsobiro基于时滞协方差矩阵联合对角化的A. Chickocki's鲁棒二阶盲辨识 (Second-Order Blind Identification (SOBI))。axcopy使用鼠标左键将图形轴及其图形对象复制到新的弹出窗口。binica从命令行运行RUNICA的独立二进制版本。biosig2eeglab将BIOSIG结构转换为脑电数据结构biosig2脑电处理工具箱event将biosig事件转换为脑电数据事件结构blockave对相同大小的连接数据集进行块平均cart2topo转换xyz-笛卡儿通道坐标到极坐标cbar显示全部或部分颜色条celltomat将单元格数组转换为矩阵chancenter重新定位笛卡尔X,Y,Z通道坐标changeunits取一个轴上的一个或多个点,并给出其在另一个轴上的位置。convertlocs利用EEG.chanlocs结构在坐标系之间转换电极位置coregister与参考通道位置文件共同注册测量或模板电极位置。eegplot滚动多通道数据查看器eegrej从连续脑电图数据中剔除任意时段epoch从连续脑电数据中提取分段时间锁定到指定事件。erpimage将单个epochs绘制为图像。 绘制单次试验数据时代集合的彩色图像,可选地对输入排序变量进行排序和/或对齐,并使用高斯加权移动平均对试验进行平滑。fastif快速if函数。floatwrite将数据矩阵写入浮点文件。jader利用JADE对真实信号进行盲分离loadtxt将ASCII文本文件装入数字或单元格数组lookupchantemplate查找频道模板。matsel从给定的多分段数据矩阵中选择行、列和epochsmattocell将矩阵转换为单元格数组movav对按xval索引的数据执行移动平均。 支持使用移动的非矩形窗口。parsetxt解析文本输入到单元格数组phasecoher使用高斯小波实现试验间放大器/相干性。plotchans3d从Polhemus ELP文件绘制三维配置。plotmesh绘制由面和顶点定义的网格plottopo在拓扑图数组中绘制数据epochsreadeetraklocs读取使用EETrak数字化软件保存的3d位置文件readelp从生成的.elp(电极位置)文件中读取电极位置,例如,由Polhemus跟踪设备生成readlocs从文件中读取电极位置坐标和其他信息。readneurodat读取神经扫描位置文件(.dat)readneurolocs读取神经扫描电极定位文件(.asc)reref重新参考数据runica运行Infomax ICA分解 对输入数据进行独立成分分析(ICA)分解sbplot在任意子图网格位置和大小中创建轴sobi基于相关矩阵联合对角化的二阶盲识别(SOBI) 。spec功率谱。如果信号处理工具箱不存在,这个函数将取代PSD函数。它使用TIMEF函数。spectopo绘制所有通道的频谱和头皮图。 在所有通道上绘制winsize数据时代长度段的功率谱密度(PSD)作为一束迹线。sph2topo将球面坐标的3列头部图文件转换为极坐标(非圆柱)坐标的3列topoplot文件。spherrorCHANCENTER子函数用于计算笛卡尔坐标到球体的最小距离textsc在屏幕坐标中放置文本,并在图的顶部放置标题。topo2sph将topoplot样式的2d极坐标通道位置文件转换为用于headplo的3d球文件topoplot绘制头皮图trial2eegplot将脑电数据格式转换为拒绝窗口的eplot格式anova1_cell使用ANOVA计算细胞阵列中的f值anova1rm_cell使用重复测量ANOVA计算细胞阵列中的f值。anova2_cell使用方差分析(ANOVA)计算单元格数组中的f值。anova2rm_cell使用方差分析(ANOVA)计算单元格数组中的f值。concatdata将存储在单元数组中的数据连接到单个数组中。只沿着最后一个维度进行连接corrcoef_cell使用数组和单元格数组输入计算pairwise相关性。fdr计算误检率掩码stat_surrogate_ci在观察样本来自给定代理分布的零假设下计算经验p值。stat_surrogate_pvals计算在观察到的样本来自给定替代分布的零假设下的经验p值。statcond使用基于标准参数或非参数排列的方差分析(1-way或2-way)或t检验方法对两个或多个数据条件进行统计比较。statcondfieldtrip与statcond相同,只是它使用fieldtrip的统计函数。surrogdistrib构建代理分发ttest cell计算配对t检验。ttest2_cell计算非配对t检验。angtimewarp给定两个事件标记向量,计算输入角时间序列的翘曲,使其evlatencies与newlatencies匹配。timef返回单个输入时间序列的平均事件相关谱扰动(ERSP)和试次间一致性(ITC)变化的估计值和图表。timewarp给定两个事件标记向量,计算一个矩阵,可用于扭曲时间序列,使其事件延迟与新延迟匹配。std_chaninds在STUDY中查找通道索引averef注意,这个旧功能在脑电处理工具箱中没有被使用。脑电处理工具箱使用的函数是reff。help2html将m文件帮助消息头转换为.html帮助文件runpca使用SVD或SVDS使用奇异值分解(SVD)执行主成分分析(PCA)mmo创建内存映射数据类eegplugin_firfilt脑电处理工具箱插件用于使用线性相位FIR滤波器过滤数据findboundaries在连续EEG数据集的事件结构中寻找边界(数据不连续)fir_filterdcpadded用DC常数和滤波器填充数据firfilt脑电处理工具箱插件用于使用线性相位FIR滤波器过滤数据 使用DC常数填充数据,使用FIR滤波器过滤数据, 并通过滤波器的群延迟移动数据。firfiltreport过滤器参数报告firfiltsplit在不连续处分割数据并转发到直流填充滤波器功能firgauss高斯低通FIR滤波器firws设计I型windowed sinc线性相位FIR滤波器firwsord估计windowed sinc FIR滤波器的顺序取决于窗口类型和请求的过渡带宽invfirwsord估计windowed sinc FIR 滤波器过渡频带宽度invkaiserbeta估计Kaiser beta的最大通带偏差/波动kaiserbeta估计Kaiser window betaminphaserceps将FIR滤波器系数转换为最小相位plotfresp绘制滤波器的脉冲、阶跃、幅度和相位响应pop_eegfiltnew使用Hamming windowed sinc FIR滤波器过滤数据pop_firma使用移动平均FIR过滤器过滤数据(弹窗模式)pop_firpm使用Parks-McClellan FIR滤波器过滤数据(弹窗模式)pop_firpmord估计Parks-McClellan filter order和权重(弹窗模式)pop_firws使用windowed sinc FIR 过滤器过滤数据(弹窗模式)pop_firwsord估计 windowed sinc 过滤器阶数依据窗口类型和要求的过渡带的宽度(弹窗模式)pop_kaiserbeta估计Kaiser window beta (弹窗模式)pop_xfirws设计和导出xfir兼容的windowed sinc FIR滤波器windows对称窗口函数已有工具箱强化:(6)统计与机器学习工具箱由统计工具箱与机器学习工具箱合并,并新增以下函数:函数名函数说明randsample随机采样grp2idx从分组变量创建索引向量parallelcoords平行坐标图kstestKolmogorov-Smirnov 检验andrewsplot安德鲁斯图biplot双标图(双重图)glyphplot创建星形图datasample以替换或非替换方式随机抽样nancov协方差矩阵,忽略 NaNscapaplot绘制概率图controlrulesWestern Electric -Nelson 控制规则fsurfht交互式等值线图wblplotWeibull 概率图crosstabCross-tabulationpolyconf多项式置信区间random随机数生成caseread从文件中读取个案名称casewrite个案名称写进文件中cdfplot经验累积分布函数 (cdf) 图hist3双变量直方图lsline向散点图添加最小二乘线条gplotmatrix按组划分的散点图矩阵ecdfhist基于经验累积分布函数的直方图nearcorr通过最小化 Frobenius 距离计算最近的相关矩阵mlecov绘制Weibull 概率分布gmdistribution高斯混合分布类pdf高斯混合分布的概率密度函数cdf高斯混合分布的累积分布函数random高斯混合分布的随机变量fitgmdist将高斯混合分布拟合到数据mahalX 到各成分均值的 Mahalanobis 距离cluster针对高斯混合分布对数据进行聚类posterior给定数据的成分后验概率meanEffectSize单样本或双样本效应大小计算bootstrpBootstrap 抽样jackknifeJackknife 抽样bootciBootstrap 置信区间manova1单因素多变量方差分析grpstats按组的汇总统计lillietest验证multcomparemultcomparesampsizepwr样本大小和检验力controlchartShewhart 控制图gagerr量具重复性和再现性研究refcurve将参考曲线添加到绘图中anovanN 因素方差分析robustcov稳健的多变量协方差和均值估计kmedoidsk中心点聚类pca对原始数据的主成分分析pcacov对协方差矩阵的主成分分析cluster从 linkages 构建聚集集群clusterdata从数据构建聚集集群cophenet遗传相关系数inconsistent计算非一致性系数linkage聚集分层聚类树pdist成对观测值之间的两两距离squareform格式化距离矩阵dbscan基于密度的噪声应用空间聚类spectralcluster谱聚类robustcov已归类为统计mahal马氏距离pdist2两组观测值之间的成对距离dendrogram树状图optimalleaforder层次聚类的最优叶排序manovacluster多元方差分析之后的群平均聚类的树状图silhouette为聚类数据绘制轮廓图。canoncorr阵样本特征系数和相关性pcares主成分分析残差ppca基于概率的主成分分析kmeansk 均值聚类createns创建最近邻对象hmmgenerate生成隐马尔科夫模型的序列hmmdecode隐马尔可夫模型后验状态概率hmmestimate从发射和状态中估计隐马尔可夫模型的参数hmmtrain从观测序列中估计隐马尔可夫模型的参数hmmviterbi隐马尔可夫模型最可能状态路径plsregress偏最小二乘法 (PLS) 回归stepwisefit使用逐步回归的拟合回归模型fsulaplacian使用 Laplacian 分数对无监督学习的特征进行排名factoran因子分析cmdscale经典多维尺度分析procrustesProcrustes分析nlinfit非线性回归relieff使用ReliefF或RReliefF算法对预测因子的重要性进行排序rotatefactors旋转因子载荷mdscale非经典多维标度nlpredci非线性回归预测置信区间knnsearchKNN搜索(使用数据)knnsearch_objKNN搜索(使用对象)rangesearch指定距离的KNN搜索(使用数据)rangesearch_obj指定距离的KNN搜索(使用对象)nnmf非负矩阵分解(7)偏微分方程工具箱新增以下函数:函数名函数说明Gauss_quadrature_for_line_integral_test_triangle对三角形单元进行测试的线积分的高斯积分计算。applyBoundaryCondition应用边界条件,为椭圆方程施加边界条件。applyDirichBoundConParabolic应用边界条件,为抛物方程施加第一类边界条件(Dirichlet边界条件)。applyDirichBoundConParabolicTime应用边界条件,为抛物方程当前时间节点施加第一类边界条件(Dirichlet边界条件)。applyNeumBoundConParabolic应用边界条件,为抛物方程施加第二类边界条件(Neumann边界条件)。applyRobinBoundConParabolicMatrix应用边界条件,为抛物方程刚度矩阵施加第三类边界条件(Robin边界条件)。applyRobinBoundConParabolicVector应用边界条件,为抛物方程右端向量施加第三类边界条件(Robin边界条件)。applySystemBoundaryCondition应用系统边界条件,为整体系统设置边界约束。applySystemDirichBoundConParabolic应用边界条件,为抛物方程系统施加第一类边界条件(Dirichlet边界条件)。applySystemDirichBoundConParabolicTime应用边界条件,为抛物方程时间步中施加系统级的第一类边界条件(Dirichlet边界条件)。assembleEigenmodesMatrix矩阵组装器,组装特征模态的线性系统矩阵。assembleEllipticMatrix矩阵组装器,为椭圆方程组装线性系统刚度矩阵。assembleEllipticVector向量组装器,为椭圆方程组装线性系统右端向量。assembleFEMatrices有限元线性系统组装器,组装有限元问题的各种线性系统矩阵。assembleParabolicMatrix矩阵组装器,为抛物方程组装线性系统刚度矩阵。assembleParabolicVector向量组装器,为抛物方程组装线性系统右端向量。createPDEResults创建PDE结果,用于存储和处理已求解的PDE模型的结果。createpde创建PDE模型,用于创建要求解的PDE模型结构体。evaluateHeatFlux评估热溶液在节点或任意空间位置的热通量。evaluateHeatRate计算法向指定边界的综合热流率。evaluatePrincipalStrain计算节点位置的主应变。evaluatePrincipalStress评估节点位置的主应力。evaluateReaction计算边界上的反作用力。evaluateStrain评估动态结构分析问题的应变。evaluateStress评估动力结构分析问题的应力。evaluateTemperatureGradient计算热溶液在任意空间位置的温度梯度。evaluateVonMisesStress评估动态结构分析问题的冯米塞斯应力。gaussQuadEllipticMatrix矩阵单刚组装器,用于椭圆方程组装线性系统刚度矩阵。gaussQuadEllipticVector向量单刚组装器,用于椭圆方程组装线性系统右端向量。gaussQuadParabolicMatrix矩阵单刚组装器,用于抛物方程组装线性系统刚度矩阵。gaussQuadParabolicMatrixBoundary矩阵单刚组装器,用于抛物方程边界处理组装线性系统刚度矩阵。gaussQuadParabolicVector向量单刚组装器,用于抛物方程组装线性系统右端向量。gaussQuadParabolicVectorBoundary向量单刚组装器,用于抛物方程边界处理组装线性系统右端向量。generateBoundaryNodesEdges用于生成网格边界的边与边界节点信息。generateMesh用于生成计算域的网格。generate_Gauss_local_1D用于生成一维局部单元的高斯积分点。generate_Gauss_local_2D用于生成二维局部单元的高斯积分点。generate_Gauss_local_triangle用于生成三角形局部单元的高斯积分点。generate_Gauss_reference_1D用于生成一维参考单元的高斯积分点。generate_Gauss_reference_triangle用于生成二维三角参考单元的高斯积分点。generate_M_T_triangle用于生成网格信息矩阵,适用于三角形单元。getInitialVector用于生成初始向量,适用于依赖时间的方程。getInitialVectorPU用于生成一阶导数初值向量与矩阵,适用于依赖时间的方程。interpolateAcceleration对动态结构模型的所有时间或频率步长在任意空间位置插入加速度。interpolateCurrentDensity在任意空间位置插值直流导通结果中的电流密度。interpolateDisplacement在任意空间位置插值位移。interpolateElectricField在任意空间位置插值静电或直流传导结果中的电场。interpolateElectricFlux在任意空间位置插值静电结果中的电通量密度。interpolateElectricPotential在任意空间位置插值静电或直流传导结果中的电势。interpolateHarmonicField在任意空间位置插值谐波结果中的电场或磁场。interpolateMagneticField在任意空间位置插值静磁结果中的磁场。interpolateMagneticFlux在任意空间位置插值静磁结果中的磁通密度。interpolateMagneticPotential在任意空间位置插值静磁结果中的磁势。interpolateSolution将PDE解插值到任意点。interpolateStrain在任意空间位置插值应变。interpolateStress在任意空间位置插值应力。interpolateTemperature在任意空间位置的热结果中插入温度。interpolateVelocity对动态结构模型的所有时间或频率步长在任意空间位置插入速度。interpolateVonMisesStress在任意空间位置插值冯米塞斯应力。mainSolveConductiveMediaDCElliptic用户界面,求解直流导电介质的椭圆方程。mainSolveDiffusionElliptic用户界面,求解扩散问题的椭圆方程。mainSolveElectrostaticsElliptic用户界面,求解静电学问题的椭圆方程。mainSolveGenericScalarEigenmodes用户界面,求解标量场的特征模态。mainSolveGenericScalarElliptic用户界面,求解标量椭圆方程。mainSolveGenericScalarHyperbolic用户界面,求解标量双曲方程。mainSolveGenericScalarParabolic用户界面,求解标量抛物方程。mainSolveHeatTransferElliptic用户界面,求解热传导问题的椭圆方程。mainStructuralMechPlaneStrainEigenmodes用户界面,求解结构力学平面应变问题的特征模态。mainStructuralMechPlaneStrainElliptic用户界面,求解结构力学平面应变问题的椭圆方程。mainStructuralMechPlaneStressEigenmodes用户界面,求解结构力学平面应力问题的特征模态。mainStructuralMechPlaneStressElliptic用户界面,求解结构力学平面应力问题的椭圆方程。mainsolveDiffusionParabolic用户界面,求解扩散问题的抛物方程。mainsolveHeatTransferParabolic用户界面,求解热传导问题的抛物方程。mianSolveACPowerElectromagneticsElliptic用户界面,求解交流电磁学问题的椭圆方程。mianSolveGenericSystemEigenmodes用户界面,求解通用系统的特征模态。mianSolveGenericSystemElliptic用户界面,求解通用系统的椭圆方程。mianSolveGenericSystemHyperbolic用户界面,求解通用系统的双曲方程。mianSolveGenericSystemParabolic用户界面,求解通用系统的抛物方程。mianSolveMagnetostaticsElliptic用户界面,求解静磁学问题的椭圆方程。pdemesh网格可视化,用于绘制PDE模型的网格。pdemesh_main用户界面,用于创建和可视化PDE模型的网格。seidel用于求解线性方程组的Gauss-Seidel迭代法。setBoundaryConditions为PDE模型设定边界条件。setEquationCoefficients为PDE模型设定方程系数。setGeometry为PDE模型设定求解几何结构。setInitialConditions为PDE模型设定初值条件。setIsTimeDependent为PDE模型设定是否为时间相关的问题。setMesh为PDE模型设定网格。setPDEModel为PDE模型设定类型和基本属性。setPDESystemSize为PDE模型设定系统的维度和规格。solveACPowerElectromagneticsElliptic标量椭圆方程求解器,用于求解交流电磁学问题。solveConductiveMediaDCElliptic标量椭圆方程求解器,用于求解直流导电介质问题。solveDiffusionElliptic标量椭圆方程求解器,用于求解扩散问题。solveDiffusionParabolic标量抛物方程求解器,用于求解扩散问题。solveElectrostaticsElliptic标量椭圆方程求解器,用于求解静电学问题。solveGenericScalarEigenmodes标量特征模态求解器,用于通用标量场的特征模态。solveGenericScalarElliptic标量椭圆方程求解器,用于求解通用标量场问题。solveGenericScalarHyperbolic标量双曲方程求解器,用于求解通用标量场问题。solveGenericScalarParabolic标量抛物方程求解器,用于求解通用标量场问题。solveGenericSystemEigenmodes向量特征模态求解器,用于通用系统的特征模态。solveGenericSystemElliptic向量椭圆方程求解器,用于求解通用系统问题。solveGenericSystemHyperbolic向量双曲方程求解器,用于求解通用系统问题。solveGenericSystemParabolic向量抛物方程求解器,用于求解通用系统问题。solveHeatTransferElliptic标量椭圆方程求解器,用于求解热传导问题。solveHeatTransferParabolic标量抛物方程求解器,用于求解热传导问题。solveMagnetostaticsElliptic标量椭圆方程求解器,用于求解静磁学问题。solveStructuralMechPlaneStrainEigenmodes向量特征模态求解器,用于求解结构力学平面应变问题。solveStructuralMechPlaneStrainElliptic向量椭圆方程求解器,用于求解结构力学平面应变问题。solveStructuralMechPlaneStressEigenmodes向量特征模态求解器,用于求解结构力学平面应力问题。solveStructuralMechPlaneStressElliptic向量椭圆方程求解器,用于求解结构力学平面应力问题。triangular_local_basis用于生成有限元局部单元的基函数,适用于三角形单元。triangular_reference_basis用于生成有限元参考单元的基函数,适用于三角形单元。(8)图像处理工具箱新增以下函数:函数名函数说明dicominfo从DICOM文件中读取元数据dicomread读取DICOM图像chromadapt通过色彩自适应调整RGB图像的色彩平衡illumgray使用灰度世界算法估计照度illumwhite使用White Patch Retinex算法估计照度lin2rgb对线性RGB值应用伽马校正rgb2lin线性化伽马校正的RGB值whitepoint标准光源的XYZ颜色值colorangle两个RGB向量的夹角deltaE基于CIE76标准的色差imcolordiff基于CIE94或CIE2000标准的色差phantom创建头部模拟图像imblend融合2幅图像montage将多幅图像显示为矩形蒙太奇imcrop3裁剪3维图像imresize3调整3维图像大小imrotate3旋转3维图像fitgeotform3d根据控制点对拟合3维几何变换affinetform3d3维仿射几何变换rigidtform3d3维刚性几何变换simtform3d3维相似几何变换transltform3d3维平移几何变换randomAffine3d创建随机3维仿射变换tformfwd应用N维正向几何变换tforminv应用N维逆几何变换imref3d将3维图像参考到世界坐标affineOutputView为形变图像创建输出视图intrinsicToWorld从固有坐标转换为世界坐标worldToIntrinsic从世界坐标转换为固有坐标sizesMatch确定空间参考对象和图像是否大小兼容imregister基于强度的图像配准imregconfig配置基于强度的配准imregtform估计对齐两幅2维或3维图像的几何变换imregcorr使用互相关估计对齐两幅2维图像的几何变换imregmtb使用中值阈值位图配准2维图像normxcorr2归一化二维互相关性MattesMutualInformationMattes互信息度量配置MeanSquares均方误差度量配置RegularStepGradientDescent常规步进梯度下降优化器配置imgaussfilt33维图像的3维高斯滤波medfilt33维中值滤波imboxfilt33维图像的3维框滤波imbilatfilt使用高斯核对图像进行双边滤波imnlmfilt图像的非局部均值滤波integralImage33维积分图integralBoxFilter3积分图3维框滤波imreducehaze去雾Circle圆形ROICrosshair十字线ROIEllipse椭圆形ROILine线ROIPoint点ROIPolygon多边形ROIPolyline折线ROIRectangle矩形ROIdrawcircle创建圆形ROIdrawcrosshair创建十字线ROIdrawellipse创建椭圆形ROIdrawline创建线ROIdrawpoint创建点ROIdrawpolygon创建多边形ROIdrawpolyline创建折线ROIdrawrectangle创建矩形ROIdraw绘制ROIreduce降低ROI中点的密度inROI确定点是否位于ROI内createMask由ROI创建二值掩膜图像roipoly由多边形ROI创建二值掩膜图像poly2mask将ROI多边形转换为区域掩膜inpaintCoherent使用基于相干传输的图像修复来复原特定图像区域inpaintExemplar使用基于样本块的图像修复来复原特定图像区域roicolor根据颜色选择ROIreducepoly使用Ramer-Douglas-Peucker算法降低ROI中点的密度bwskel提取骨架deconvlucy使用Lucy-Richardson方法去除图像模糊deconvwnr使用Wiener滤波去除图像模糊edgetaper使用点扩散函数模糊图像边缘otf2psf将光学传递函数转换为点扩展函数psf2otf将点扩展函数转换为光学传递函数col2im将矩阵列重新排列成块im2col将图像块重新排列成列watershed分水岭变换gradientweight根据图像梯度计算图像像素的权重graydiffweight根据灰度强度差异计算图像像素的权重label2idx将标记矩阵转换为元胞数组boundarymask计算分割的区域边界jaccardJaccard指标diceDice指标bwboundaries跟踪二值图像中的对象边界bwtraceboundary在二值图像中跟踪对象边界imfindcircles使用Hough变换查找圆circles2mask由圆创建二值掩模图像radonRadon变换iradon逆Radon变换regionprops测量图像区域的属性bwconvhull从二值图像生成凸包图像bweuler二值图像的欧拉数bwboundingbox包含二值图像区域的最小外接框的位置和大小bwcentroid二值图像区域的质心bwconvexarea二值图像区域凸包图像的面积bwconveximage二值图像区域凸包图像bweccentricity与二值图像区域具有相同二阶矩的椭圆的偏心率bwequivdiameter与二值图像区域面积相同的圆的直径bwextent二值图像区域中的像素数与边界框中总像素数的比率bwextrema二值图像区域中的极值点bwf illedarea二值图像区域填充图像的面积bwf illedimage二值图像区域填充图像bwmajoraxislength二值图像中与区域具有相同归一化二阶中心矩的椭圆长轴长度bwminoraxislength二值图像中与区域具有相同归一化二阶中心矩的椭圆短轴长度bworientationx轴与椭圆长轴(该椭圆与区域具有相同二阶矩)之间的角度bwperimeter二值图像区域的周长bwpixelidx list二值图像区域中像素的线性索引bwpixellist二值图像区域中像素的位置bwsolidity二值图像区域凸包中区域内像素所占比例impixel像素颜色值bwdist二值图像的距离变换bwdistgeodesic二值图像的测地距离变换graydist灰度图像的灰度加权距离变换mean2矩阵元素的均值std2矩阵元素的标准差corr22维相关系数bwareafilt按面积从二值图像中提取对象bwselect在二值图像中选择对象bwlabel标记2维二值图像中的连通分量bwlabeln标记二值图像中的连通分量entropy灰度图像的熵graycomatrix从图像创建灰度共生矩阵graycoprops根据灰度共生矩阵计算特征imcontrast对比度调整工具registrationEstimator图像配准器imageRegionAnalyzer图像区域分析器(9)控制系统工具箱新增以下函数:函数名函数说明dss描述性ss的模型pidpid控制器pidstd标准结构的pid控制器piddata获取pid控制器的因子filtDSP格式的离散传递函数rss随机连续传递函数drss随机离散传递函数sparss解析状态空间模型sparssdata提取状态空间模型参数step阶跃响应initial脉冲响应初始化lsim给定输入的系统响应isct判断模型是否连续isdt判断系统是否离散isempty判断系统是否为空isfinite判断系统参数为无穷isproper判断模型是否合理isreal判断模型参数是否为实数issiso判断系统是否为单输入单输出isstable判断系统是否稳定isstatic判断系统是静态还是动态order模型阶次ndims模型维度size模型输入和输出维度bodemagbode幅值图stepinfo阶跃信息lsiminfo仿真信息norm模型范数damp模型阻尼和固有频率pzmap极点和零点图5、新增北太真元功能(1)增加仿真调试功能,支持步进、步退、继续、停止调试功能,并能通过鼠标单击模块间连线添加值标签,实时查看端口输出(2)新增画布快捷操作快捷键操作鼠标中键+鼠标左键画布自由拖动空格键+鼠标左键画布自由拖动空格键 + 上、下、左、右方向键画布上下左右方向平移Ctrl + 滚轮画布上下方向平移Shift + 滚轮画布左右方向平移(3)增加缩略图功能,拖动画布会展示画布缩略图(4)新增快捷键提示,当画布处于选中状态时,长按空格键会在界面右下角出现快捷键操作提示(5)新增基础计算单元:基础计算单元分类功能说明ASCII2Stringstring将ASCII码值转换为string输出stringComparestring比较字符串是否相等stringConcatenatestring串联各个字符串以形成一个字符串stringConstantstring字符常数stringContainsstring是否存在子字符串stringConutstring指定子字符串在输入字符串中出现的次数stringEndWithstring字符串是否以指定子字符串结束stringFindstring返回第一个匹配到子字符串的索引stringLengthstring输出字符串长度stringStartWithstring字符是否以指定子字符串开始string2ASCIIstring字符串转ascii码值,输出uint8即32位subStringstring从字符串中提取指定长度的子字符串createDiagonalMatrixmatrix operations把对角矩阵转成满矩阵crossProductmatrix operations两个3x1向量叉积extractDiagonalmatrix operations提取满矩阵的主对角线hermitianTransposematrix operations矩阵的共轭转置identityMatrixmatrix operations创建单位矩阵isHermitianmatrix operations判断输入的矩阵是否是共轭矩阵或斜共轭矩阵isSymmetricmatrix operations判断输入的矩阵是否是对称矩阵或斜对称矩阵isTriangularmatrix operations判断输入是否是上三角矩阵或下三角矩阵matrixMultiplymatrix operations矩阵乘法matrixSquarematrix operations计算矩阵平方transposematrix operations矩阵转置cos+jsinmath复指数coshmath双曲余弦expmath指数fixmath向零舍入floormath向负无穷舍入hypotmath平方和的平方根(斜边)matirxConcatenatematrix operations连接数据以生成矩阵reshapemath将输入信号转换为指定的信号维度输出,支持输出行向量或列向量gainmath新增矩阵增益integratorcontinuous新增积分绕回delaydiscretes支持初始条件参数设置为矩阵和标量outoutputs支持字符串信号的显示toWorkspaceoutputs支持字符串信号的显示matrixDividematrix operations通过操作符设置矩阵的乘除操作(6)新增行业计算单元:行业计算单元分类功能说明Zonal Harmonic Gravity Model航空模块库根据行星重力势计算特定位置行星重力的纬向谐波表示Quaternion Interpolation航空模块库在两个四元数之间插值LLA to ECEF Position航空模块库从大地纬度、经度和高度计算以地球为中心的地球固定(ECEF)位置Interpolate Matrix x航空模块库为给定的输入x_k和x_f返回插值矩阵,输入必须来自Simulink Prelookup 块Self_Conditioned航空模块库以自定义形式实现状态空间控制器[A,B,C,D]Planetary Gear汽车传动系统模块库带有太阳、行星和环形齿轮的齿轮列车CI Controller汽车传动系统模块库压缩点火控制器,包括空气质量流量、扭矩和EGR估计Surface Mount PM Controller汽车传动系统模块库用于表面安装永磁同步电动机的基于转矩的、面向场控制器Dryden Wind Turbulence Model Continuous +q -r航空模块库干燥风湍流模型Von Karman Wind Turbulence Model Continuous +q -r航空模块库冯&middot;卡曼湍流模型Dryden Wind Turbulence Model Discrete +q -r航空模块库干燥风湍流模型Dryden Wind Turbulence Model Continuous +q +r航空模块库干燥风湍流模型Von Karman Wind Turbulence Model Continuous +q +r航空模块库冯&middot;卡曼湍流模型Dryden Wind Turbulence Model Discrete +q +r航空模块库干燥风湍流模型Dryden Wind Turbulence Model Continuous -q +r航空模块库干燥风湍流模型Von Karman Wind Turbulence Model Continuous -q +r航空模块库冯&middot;卡曼湍流模型Dryden Wind Turbulence Model Discrete -q +r航空模块库干燥风湍流模型ECEF Position to LLA航空模块库从地球中心地球固定位置(ECEF)计算行星椭球上方的大地纬度、经度和高度Interpolate Matrix x y航空模块库为给定输入返回插值矩阵Interpolate Matrix x y z航空模块库为给定输入返回插值矩阵Direction Cosine Matrix to Rodrigues航空模块库将方向余弦矩阵转换为欧拉-罗德里格斯向量Ideal Airspeed Correction航空模块库计算指示空速和真实空速3dof (Body Axes)航空模块库执行与体轴相关的三自由度运动方程3dof (Wind Axes)航空模块库执行与风轴相关的三自由度运动方程Custom Variable Mass 3dof(Body Axes)航空模块库执行自定义可变质量相对于体轴的三自由度运动方程Custom Variable Mass 3dof(Wind Axes)航空模块库执行自定义可变质量相对于风轴的三自由度运动方程Simple Variable Mass 3dof (Body Axes)航空模块库简单可变质量相对于体轴的三自由度运动方程Simple Variable Mass 3dof (Wind Axes)航空模块库执行简单可变质量相对于风轴的三自由度运动方程Rotation Angles to Rodrigues航空模块库将旋转角转换为欧拉-罗德里格斯向量Rodrigues To Quaternion航空模块库将欧拉-罗德里格斯向量转换为四元数Rodrigues to Direction Cosine Matrix航空模块库将欧拉-罗德里格斯向量向方向余弦矩阵转换的模块6DOF Quaternion航空模块库机体轴的六自由度运动方程的四元数表示Attitude Profile Nadir Pointing航空模块库计算最短的四元数旋转(7)新增行业模型:行业模型分类飞发一体化综合仿真航空航天类模型类飞机发动机模型航空航天类模型类飞机起落架仿真航空航天类模型类机电液执行机构机械系统模型库汽车控制应用层开发汽车模拟类模型库热力学冷却系统控制系统类模型库数字卫星仿真平台航空航天类模型类卫星姿轨模型航空航天类模型类无人机飞行控制航空航天类模型类永磁直流电机模型机械系统模型库二、优化功能1、内核优化(1)优化函数名+花括号调用时的报错信息,例如 funname{i}会提示funname是函数,不能使用花括号访问(2)支持使用变量列表直接对多个输出进行赋值,[x, y] = c{:},[x, y] = s.x(3)当等号左侧是变量列表时,输入参数不足时会给出错误提示,例如 [x, y, z] = c{1:2}(4)对于数学常量 Inf NaN pi i j eps 开头的语句,将不会被识别为命令语法。例如 i *1 或 inf *nan 等(5)在类的构造函数返回前强制修改第一个输出参数的类型,现在会报错(6)内核在启动时会自动加载 btmulink 和 MatrixFunctions 两个插件(7)优化元胞数组打印空字符向量的逻辑,现在会显示为 0x0 char(8)优化 M 文件中帮助文档的解析写在 function 或 classdef 之后的文档可以有缩进,且前导空行会被忽略对于无帮助文档的 M 文件,会简要显示文件的类型(函数、脚本、类)(9)SDK 优化插件重载函数和普通插件函数调用的优先级,现在插件重载函数会优先考虑,避免在存在同名普通插件函数时重载函数失效的问题2、函数优化函数名优化内容input支持input(prompt, 's')这种用法,将输出解释为字符串;屏蔽字符串求值时的中间输出;提示符支持换行等特殊字符;在非交互前端下该函数会报错,而不是无限等待list_plugins重构函数功能,显示目前可读取到的插件名称、简介、以及加载状态,在之前的版本只显示已加载插件名;可以将函数输出赋值到结构体中记录信息narginchk、nargoutchk支持第二个参数取 inf表示不对上限进行限制add, minus, reshape, string支持日期时间数据类型any, all支持高维数组,NaN,稀疏矩阵var, std, median支持高维数组,NaN;并提高计算效率horzcat, vertcat支持日期时间、表和时间表数据类型sort, issorted支持高维数组;支持 datetime, duration 数据类型char支持高维数组;支持函数句柄和日期时间数据类型cellfun, structfun支持 cell, duration, calendarDuration 数据类型kron支持整型数据和 logical 数据fix, ceil, floor, round支持整型数据类型num2cell支持高维数组和稀疏矩阵circshift, fftshift, ifftshift, writematrix支持高维数组length支持日期时间、表、时间表数据类型lt, le, gt, ge, eq, noteq支持稀疏矩阵nnz, nonzeros支持稀疏 logical 数据类型getField支持表数据类型isa支持自定义类repmat提升计算效率rmfield,isfield支持输入多个字段load支持加载不在当前路径但在路径管理目录下的数据文件exist支持判断所有文件是否存在error支持处理空数组eps支持 realmax 处理.支持圆点修改表变量{}支持输入逻辑索引isprime提升计算效率全部绘图函数支持用户输入高维数据支持用户在对数坐标轴上进行图形的绘制figure支持对figure函数创建的图形对象设置Position和Visible属性surf,surfc,surface,mesh,meshc,meshz支持为三维曲面/网格图设置三维RGB颜色数组支持将三维曲面/网格图的CDataMapping属性设置为'direct'axes,polaraxes支持获取axes和polaraxes函数所创建图形对象的InnerPosition属性值gscatter支持使用默认色序绘制分组散点图rticks,thetaticks支持用户输入多个坐标区alpha支持为具有透明性相关属性的图形对象设置透明度bar,barh支持在坐标轴范围为无限值时绘制条形图支持输入inf、nan数据lines支持输入复数/小数获取颜色数组统计与机器学习工具箱/refline支持refline(ax,___)语法优化工具箱/fminunc, fseminf, fsolve, lsqncommon实现 fminunc fseminf fsolve lsqncommon 梯度检验功能3、集成开发环境(IDE)优化(1)北太天元软件界面风格全新改版(2)工具箱控制界面改版4、字符前端(CLI)优化(1)支持启动时显示当前北太天元版本号信息5、北太真元优化(1)模块库分类调整,可调整目录结构不影响模型显示(2)北太真元全新界面改版三、修复问题1、内核问题修复(1)取下标/赋值修复 a{}这类无参数取cell分量会闪退的问题修复 pi = 2 * pi 这类语句无法正常执行的问题(赋值前是函数,赋值后是变量)修复使用 [c{:}] 形式的语句获取返回值后,造成后续函数调用可能闪退的问题修复函数中需要输出但未对 varargout 赋值时,没有出现报错信息的问题修复 s.x(ind) = rhs 当结构体 s 存在但未定义字段 x 时,不能正确赋值的问题修复结构体数组嵌套调用分量+字段+分量引起的闪退,例如 s(1).a(1) 或 s.a.b(1)修复了一个结构体数组进行嵌套增加字段时软件会闪退的问题,例如 a(1).b(1).c = 1修复了第一个输出形参为 varargout 时,输出变量为 ans 会被赋值为 cell 的问题(2)匿名函数/函数句柄修复函数句柄调用在某些情况下输出参数个数判断错误的问题修复匿名函数中存在分号分隔的 cell 无法正确定义的问题,例如 @(x) {1 x; x 2}(3)面向对象修复当 classdef 内容为空时,调用构造函数会闪退的问题修复类定义语句中 properties ~ end 或 methods ~ end 之间无内容,解释器会报语法错误的问题类的构造方法调用也遵循方法的权限。即 Access 权限声明为 protected 和 private 的构造方法无法在类外部调用各种特性(类、属性、方法)仅能指定一次,重复指定现在会报错修复生成 classdef 对象后,再将类修改为非法定义,下次输出对象时会有多余的 '变量名 =' 信息的问题修复使用圆点语法obj.fun()调用成员方法时,若方法内部修改了obj属性, 入参会被直接修改的问题修复布尔类型特性值设置非法时软件会闪退的问题修复属性初值不能是函数句柄类型的问题修复了静态保护/私有方法可以被其他类(非子类)调用的问题(4)运算符与函数调用修复交互式执行多行脚本时,若第一行存在续行符...,第一行之后的内容会被解释器忽略的问题修复 otherwise 只有一条语句时,无输出参数的函数调用输出个数会识别成 1 个的问题修复函数名和括号中有空格会被识别为命令语法的问题,如fun (x)修复&&与||运算符第二个参数求值错误,报错信息会重复显示的问题修复在某些情况下对()求值出错,ans变量会被赋值为error的问题修复某些运算符、函数调用等语句加分号不会输出 ans 变量的问题(5)调试器修复了条件断点进行判断时可能的闪退问题修复了断点与条件断点相互覆盖时,后设置的断点不生效的问题修复使用 dbquit() 函数退出调试,命令行会显示 1x1 error ans 变量的问题(6)数据类型修复表格中包含带有控制字符的 char 数组,会报错 basic_string::_M_create 的问题修复持续时间数组中 Inf-Inf的显示问题修复元胞数组中高维空矩阵会显示为 []的问题(7)SDK修复 bxCreateExtObj 模板函数的错误写法修正文档中的多处笔误2、函数问题修复函数名修复内容eval修复指定返回变量时,同时还会生成 ans变量的问题betainc修复矩阵与向量或标量计算的错误fopen修复windows 无法打开中文文件的问题修复返回 mode 不正确的问题find修复输入标量 0 或空数组时,返回维度不对的问题kron修复整型与浮点型数据计算结果错误的问题char修复输入空数组时返回结果错误的问题修复字符串数组的转换问题fprint修复 fprint 无法生效的问题sprintf修复输入多参数结果错误的问题struct修复输入重复字段名不报错的问题修复扩容后数据丢失的问题datetime修复部分默认格式中文无法解析的问题cat修复输入日期时间类和表格类串联数组时闪退的问题sparse修复输入高维数组不报错的问题修复输入逻辑数组返回不正确的问题sort修复相同值索引返回乱序的问题rand, randi修复参数个数为 2 且输入均为负数时的闪退问题setfield修复输入空结构体未正常报错的问题issymmetrix,ishermitian修复输入非方阵结果错误的问题vecnorm修复 Lp 范数溢出的问题fseek修复指定文件位置超过文件结尾仍正常返回的问题ferror修复 ferror(fileID,'clear') 调用方式失败的问题contains修复空字符向量计算错误的问题gamma修复处理非正整数错误和溢出的问题unique修复指定'rows'模式时,函数认为NaN相等的问题strcmp修复对空字符数组的处理错误cell修复对空矩阵的处理错误绘图窗口修复Figure窗口频繁移动导致的闪退问题修复Figure窗口缩小至一定程度图形绘制不完整的问题bar,barh修复绘制条形图时坐标轴数据显示小数刻度值的问题newplot适配坐标区Nextplot属性的不同设置值contour修复输入空矩阵时的闪退问题legend修复输入含'data'字符的数据作为图例指定名称时的闪退问题bubblelegend修复设置Location为'none'但未指定Position属性时的闪退问题hsv修复从色条上取一个颜色时的闪退问题histogram修复临界值绘制错误的问题polarscatter适配坐标轴的科学计数法显示colorbar修复色条上问题显示不完全的问题waterfall修复同时输入行向量和列向量时的闪退问题validateattributes修复多个数据属性有numeric时会报错并置失败的问题修复函数名和变量名为string类型时不能正常执行的问题validatestring修复函数名和变量名为string类型时不能正常执行的问题minres修正对数据类型的判断sprand、sprandn修复前三个入参存在0时,不能正确返回结果的问题统计工具箱/corr修复指定 spearman 时输出结果不正确的问题优化工具箱/fsolve修复 options 默认输入时,计算为空的问题优化工具箱/fminbnd修复无法正确调用外部局部函数的问题优化工具箱/intlinprog修复b只能为列向量的问题优化工具箱/quadprog修复H为NaN矩阵时没有提示报错信息的问题3、集成开发环境(IDE)问题修复(1)解决关闭软件时未保存的文件提示导致软件未正常关闭的问题;(2)解决exit/quit提示保存文件会卡住命令行问题;(3)解决新建文件关闭后,切换目录闪退的问题;四、已知问题1、内核已知问题(1)当函数句柄绑定到插件函数时,若存在和插件函数同名的内置函数,那么卸载插件后该句柄会自动绑定到内置函数,不符合报错的期望,原则上函数句柄确定了绑定内容后就不应随运行环境而改变。2、函数已知问题(1)主体函数zip 指定文件夹名称最后有'/'表现错误sscanf 暂未支持转换转义字符(2)优化工具箱fmincon:由于未支持稀疏ldl分解,目前计算结果误差较大(3)统计与机器学习工具箱dbscan:在某些情况可能闪退(4)绘图绘图函数在绘制数据标签时可能出现显示精度不够的问题;在某些情况下(受给点顺序的影响),patch函数会绘制多余的区域;绘制的线条(特别是标记的边缘线条)可能会出现显示不均匀的问题;daspect设置之后鼠标移入和移出窗口,坐标轴范围会发生变化;在某些绘制情形下,使用fill函数会出现上面的补片无法遮挡下面补片线条的问题;在二维直角坐标系下,当设置坐标轴的zScale属性为"log"时,二维图像会消失;bubblelegend显示的气泡范围会精确到小数;最大化窗口后,在标题栏右侧拖动窗口,会发生闪烁;heatmap函数目前不支持通过subplot创建子图;由于对数坐标轴在平移时会重新计算tick,会导致移动时坐标轴标签跟着改变(主刻度间间隔等);colorbar设置位置为"north"且"tick"为右侧时,色条绘制会出错;设置绘图字体样式后,某些字符的绘制可能不完全3、集成开发环境(IDE)已知问题(1)编辑器中多行注释存在高亮显示不正常的问题;4、北太真元已知问题(1)北太天元窗口和北太真元窗口不能同时进入调试状态。如果在北太真元窗口调试状态下报错,需要通过“dbquit”指令在北太天元窗口手动退出调试状态。(2)北太真元仿真调试时,第一次打开数据标签,会显示“暂无数据”,需要步进或步退才能刷新数据。第一次步进时,数据标签也会显示“暂无数据”。(3)参数表达式中如果存在天元内置函数,参数检查后,天元工作区可能出现ans变量。(4)断言类的模块,仿真回调参数内的代码执行效果,与在天元命令行执行效果一致,可能会在天元命令行窗口出现打印信息;如果代码包含figure调用,在运行时必然出现figure窗口;如果存在clear和clc代码,会导致模型执行异常并报错。(5)在子函数内调用绘图函数,绘图内容会随着运行时间实时更新,如果在过程中关闭绘图窗口,可能会出现“figure不存在”的提示。(6)子函数模块输出复数信号,可能会导致模型计算异常或报错。

社区小助手 0 0 2024-11-15

v4.0.0_release

v4.0.0_release【安装包获取】                   baltamatica_4.0.0_release_win_x86_64                 baltamatica_4.0.0_ubuntu22.04_amd64【新增功能】                点击查看                北太天元baltamatica_4.0.0 更新日志

社区小助手 0 1 2024-11-15

v3.7.0_release(北太天元大赛版)

注:大赛版仅支持数模国赛期间(截至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、修复部分绘图和内置函数。

社区小助手 0 1 2024-09-02

baltamatica_999_3.6.1_dev1

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)界面可能会显示不完整,该问题正解决中

社区小助手 0 0 2024-08-23

北太天元应用案例分享:使用北太天元实现扩散模型

卢朓老师《数值方法:原理、算法及应用》课堂 学生大作业~供大家参考学习~

社区小助手 0 0 2024-08-23

baltamatica_999_3.6.1_dev0

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)界面可能会显示不完整,该问题正解决中

社区小助手 2 0 2024-08-01

北太天元应用案例分享:机器学习预测心脏病风险

卢朓老师《数值方法:原理、算法及应用》课堂 学生大作业~供大家参考学习~相关代码和结果如下:%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算法)来求解这个优化问题。

社区小助手 0 0 2024-07-26

v3.6.1_release

v3.6.1_release【安装包获取】                   baltamatica_3.6.1_release_win_x86_64                 baltamatica_3.6.1_release_ubuntu20.04_amd64                  【新增功能】                点击查看                北太天元baltamatica_3.6.1 更新日志

社区小助手 0 0 2024-07-24

北太天元 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

社区小助手 0 0 2024-07-24

什么时候推出适用于macOS的版本

什么时候推出适用于macOS的版本

Hill 1 0 2024-07-24

baltamatica_999_3.6.0_dev0

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

社区小助手 0 0 2024-07-15

北太天元 baltamatica_3.6.0 更新日志

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+&uarr;的组合键进行历史命令行批量选中支持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环境求解器参数设置框高度不一致,且筛选需要在右侧▽才可以筛选求解器不方便;真元窗口都不能拉伸问题等异常报错的模型重复多次点击运行停止大概率会异常退出

社区小助手 0 0 2024-07-11

v3.6.0_release

v3.6.0_release【安装包获取】                                   baltamatica_3.6.0_release_win_x86_64                 baltamatica_3.6.0_release_ubuntu20.04_amd64                  【新增功能】                点击查看                北太天元baltamatica_3.6.0 更新日志

社区小助手 2 0 2024-07-11

baltamatica_999_3.5.0_dev1

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

社区小助手 2 0 2024-06-07

baltamatica_999_3.5.0_dev0

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% 临时解决此问题

社区小助手 2 0 2024-04-29

北太天元v3.5上线 | 快来看看它的新功能是否超越期待!

      北太天元数值计算通用软件是国内首款具有完全自主知识产权的通用型科学计算软件,在突破并实现内核根技术后,已形成解释性高级编程语言。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-

社区小助手 0 0 2024-04-29

北太天元 baltamatica_3.5.0 更新日志

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

社区小助手 0 2 2024-04-29

v3.5.0_release

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 更新日志

社区小助手 0 0 2024-04-29

产品发布倒计时1天 | 北太天元v3.5即将正式上线

倒计时3天北太天元v3.5即将正式发布!

社区小助手 2 0 2024-04-26

v3.5.0_beta

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 更新日志

社区小助手 0 0 2024-04-17