1、增加了编辑器“运行所选内容”功能的快捷键F9;
2、帮助系统改用网页浏览器展示。
1、修复内置函数报错时显示 1$ 的问题;
2、修复匿名函数参数求值错误时软件闪退的 bug;
3、修复输入a='时闪退的bug;
4、修复绘图函数surfc,meshc,meshz输入空矩阵闪退问题。
5、修复对工作区变量的值进行右键删除操作,会导致整个工作区变量被删除的bug。
1、加载dip插件会导致size函数使用出现问题,导致仿真无法运行模型文件会报错size参数过多
1、IDE
使用全新的IDE界面,快捷工具栏、工作区、编辑器、地址导航栏、文件树、命令行等功能界面焕然一新;
以自动保存的机制替代手动保存,运行或关闭时会自动保存文件;
新增代码节的运行节并前进、运行剩余节;
新增调试模式中的步入、步出;
新增编辑器文本的查找/替换;
新增默认布局、经典布局和自定义布局,以及布局切换;
新增帮助文档功能,点击快捷工具栏帮助文档按钮进入,或鼠标悬停函数上按F1进入对应帮助文档;
新增对函数的右键help,快速查看函数help信息;
新增快速查看函数定义功能,Ctrl+鼠标左键点击自定义函数名。
新增编辑器“运行所选内容”功能的快捷键F9;
2、主体函数
(1)数学
idivide: 带有舍入选项的整除;
sinpi: 准确地计算 sin(X*pi);
asind: 反正弦(以度为单位);
cscd: 以度为单位的参数的余割;
cospi: 准确计算 cos(X*pi);
acosd: 反余弦(以度为单位);
tand: 以度表示的参数的正切;
atand: 反正切(以度为单位);
atan2d: 四象限反正切(以度为单位);
acscd: 反余割(以度为单位);
secd: 参数的正割,以度为单位;
asecd: 反正割(以度为单位);
cotd: 以度为单位的参数的余切;
acotd: 反余切(以度为单位);
hypot: 平方和的平方根(斜边);
cart2pol: 将笛卡尔坐标转换为极坐标或柱坐标;
cart2sph: 将笛卡尔坐标转换为球面坐标;
pol2cart: 将极坐标或柱坐标转换为笛卡尔坐标;
sph2cart: 将球面坐标转换为笛卡尔坐标;
nthroot: 实数的第 n 次实根;
cplxpair: 将复数排序为复共轭对组;
unwrap: 平移相位角;
factor: 质因数;
factorial: 输入的阶乘;
gcd: 最大公约数;
isprime: 确定哪些数组元素为质数;
lcm: 最小公倍数;
nchoosek: 二项式系数或所有组合;
perms: 所有可能的排列;
primes: 小于等于输入值的质数;
rat: 有理分式近似值;
rats: 有理输出;
poly: 具有指定根的多项式或特征多项式;
polyeig: 多项式特征值问题;
polyvalm: 矩阵多项式计算;
polyder: 多项式微分;
mkpp: 生成分段多项式;
compan: 伴随矩阵;
hadamard: Hadamard 矩阵;
hankel: Hankel 矩阵;
hilb: Hilbert 矩阵;
invhilb: Hilbert 矩阵的逆矩阵;
pascal: 帕斯卡矩阵;
rosser: 典型对称特征值测试问题;
toeplitz: 托普利茨矩阵;
vander: Vandermonde 矩阵;
wilkinson: Wilkinson 的特征值测试矩阵;
linsolve: 对线性方程组求解;
rsf2csf: 将实数 Schur 形式转换为复数 Schur 形式;
planerot: Givens 平面旋转;
bandwidth: 矩阵的上下带宽;
normest: 2-范数估值;
condeig: 与特征值有关的条件数;
orth: 适用于矩阵范围的标准正交基;
subspace: 两个子空间之间的角度。
(2)语言基础知识
sortrows: 对矩阵行或表行进行排序;
isrow: 确定输入是否为行向量;
iscolumn: 确定输入是否为列向量;
ndims: 数组维度数目;
intersect: 设置两个数组的交集;
fliplr:将数组从左向右翻转;
flipud:将数组从上向下翻转;
typecast:在不更改基础数据的情况下转换数据类型。
(3)绘图
mesh:网格曲面图;
meshc:网格曲面图下的等高线图;
meshz:带帷幕的网格曲面图;
surface:基本曲面图;
axis:设置坐标轴范围和纵横比;
view:相机视线;
xlim:设置或查询 x 坐标轴范围;
ylim:设置或查询 y 坐标轴范围;
zlim:设置或查询 z 坐标轴范围;
box:显示坐标区轮廓;
grid:显示或隐藏坐标区网格线;
cla:清除坐标区;
axes:创建笛卡尔坐标区;
colormap:查看并设置当前颜色图。
(4)其他
manual: 在命令行窗口展示帮助信息。
fsolve:对非线性方程组求解;
lsqcurvefit:用最小二乘求解非线性曲线拟合(数据拟合)问题;
fmincon:寻找约束非线性多变量函数的最小值;
fseminf:求解半无限约束多变量非线性函数的最小值;
fminimax:求解minmax约束问题;
fminsearch:使用无导数法计算无约束的多变量函数的最小值;
fgoalattain:求解涉及多目标的目标达成问题。
dip::figure:创建图形窗口;
dip::title:设置标题;
dip::size:获取图像大小(使用 size);
dip::close:关闭图形窗口;
imshow:显示图像;
imread:从图像文件读取图像;
imwrite:将图像写入图像文件;
imfinfo:图像文件的信息;
gray2ind:将灰度或二值图像转换为索引图像;
ind2gray:将索引图像转换为灰度图像;
cmap2gray:将 RGB 颜色表转换为灰度颜色表;
imquantize:使用指定的量化级别和输出值量化图像;
imfilter:对图像进行滤波;
fspecial:创建预定义的二维滤波器;
medfilt2:2 维中值滤波;
imgaussfilt:高斯滤波;
wiener2:2 维 Wiener 滤波;
stdfilt:标准差滤波;
entropyfilt:局部熵滤波;
imboxfilt2:2 维框滤波;
modefilt:模式滤波;
ordfilt2:2 维顺序统计量滤波;
rangefilt:局部范围滤波;
rescale:缩放数据范围;
integralImage:积分图;
integralBoxFilter:积分图 2 维框滤波;
imnoise:向图像添加噪声;
imabsdiff:图像的绝对差;
imadd:图像的加运算;
imapplymatrix:颜色通道的线性组合;
imcomplement:图像求补;
imdivide:图像的除运算;
imlincomb:图像的线性运算;
immultiply:图像的乘运算;
imsubtract:图像的减运算;
padarray:填充数组;
imcrop:裁剪图像;
imresize:调整图像大小;
imrotate:旋转图像;
imtranslate:平移图像;
impyramid:图像金字塔缩放图像;
affinetform2d:2 维仿射几何变换;
rigidtform2d:2 维刚性几何变换;
simtform2d:2 维相似几何变换;
transltform2d:2 维平移几何变换;
projtform2d:2 维投影几何变换;
fitgeotform2d:根据控制点对拟合二维几何变换;
randomAffine2d:创建随机 2 维仿射变换;
imwarp:对图像应用几何变换;
transformPointsForward:应用正向几何变换;
transformPointsInverse:应用逆几何变换;
imref2d:将二维图像参考到世界坐标;
detectORBFeatures:检测 ORB 关键点;
extractFeatures:提取感兴趣点的描述符(特征);
matchFeatures:特征匹配;
selectStrongest:选择得分最高的部分关键点;
markORBPoints:在图像中标记 ORB 关键点;
ORBPoints:ORB 关键点;
imfuse:将 2 幅图像合成;
imshowpair:将 2 幅图像合成显示;
checkerboard:创建棋盘图像;
imbinarize:通过阈值化将灰度图像二值化;
im2int8:将图像转换为 8 位有符号整数;
im2uint8:将图像转换为 8 位无符号整数;
im2single:将图像转换为单精度;
im2double:将图像转换为双精度值;
im2int16:将图像转换为 16 位有符号整数;
im2uint16:将图像转换为 16 位无符号整数;
dipmat2bxmat:将工具箱多维数组转换为北太天元多维数组;
bxmat2dipmat:将北太天元多维数组转换为工具箱多维数组;
im2gray:将 RGB 图像转换为灰度图像;
mat2gray:将矩阵转换为灰度图像;
lab2uint8:将 L*a*b*颜色值转换为 8 位无符号整数;
lab2uint16:将 L*a*b*颜色值转换为 16 位无符号整数;
lab2double:将 L*a*b*颜色值转换为双精度值;
xyz2uint16:将 XYZ 颜色值转换为 16 位无符号整数;
xyz2double:将 XYZ 颜色值转换为双精度值;
rgb2xyz:将 RGB 转换为 CIE 1931 XYZ;
xyz2rgb:将 CIE 1931 XYZ 转换为 RGB;
rgb2cmy:将 RGB 转换为 CMY;
cmy2rgb:将 CMY 转换为 RGB ;
rgb2ntsc:将 RGB 转换为 NTSC;
ntsc2rgb:将 NTSC 转换为 RGB;
rgb2ycbcr:将 RGB 转换为 YCbCr;
ycbcr2rgb:将 YCbCr 转换为 RGB;
rgb2hsv:将 RGB 转换为 HSV;
hsv2rgb:将 HSV 转换为 RGB;
rgb2hsi:将 RGB 转换为 HSI;
hsi2rgb:将 HSI 转换为 RGB;
rgb2gray:将 RGB 图像(颜色表)转换为灰度图像(颜色表);
rgb2lab:将 RGB 转换为 CIE 1976 L*a*b*;
lab2rgb:将 CIE 1976 L*a*b*转换为 RGB;
xyz2lab:将 CIE 1931 XYZ 转换为 CIE 1976 L*a*b*;
lab2xyz:将 CIE 1976 L*a*b*转换为 CIE 1931 XYZ;
imsplit:将多通道图像拆分为各个通道;
immerge:将各个通道合并为多通道图像;
jet:Jet 颜色表;
spring:spring 颜色表;
summer:summer 颜色表;
autumn:autumn 颜色表;
winter:winter 颜色表;
gray:gray 颜色表;
hsv:HSV 颜色表;
label2rgb:将 label 矩阵转换为 RGB 图像;
otsuthresh:使用 Otsu 方法的全局直方图阈值;
labeloverlay:在 2 维图像上叠加标签矩阵区域;
imadjust:调整图像亮度值或颜色表;
stretchlim:查找图像对比度拉伸的限值;
histeq:直方图均衡;
imhistmatch:直方图匹配;
imlocalbrighten:低光图像增强;
adapthisteq:自适应直方图均衡;
imhist:图像直方图;
imsharpen:使用非锐化模板锐化图像;
intlut:使用查找表转换为整数值;
imerode:腐蚀;
imdilate:膨胀;
imclose:闭运算;
imopen:开运算;
imtophat:顶帽滤波;
imbothat:底帽滤波;
bwperim:确定二值图像中对象的边界;
imfill:填充;
bwhitmiss:二值击中击不中;
imclearborder:去除图像边界;
conndef:创建连通矩阵;
strel:形态学结构元;
iptcheckconn:检查连通性参数的有效性;
bwlookup:基于查找表的非线性滤波;
bwmorph:二值图像形态学运算;
bwconncomp:查找二值图像中的连通分量并对其计数;
labelmatrix:由 bwconncomp 结构创建 label 矩阵;
bwareaopen:删除二值图像中的小目标;
grayconnected:确定相似灰度区域;
edge:边缘提取;
imgradient:梯度幅值和方向;
imgradientxy:梯度;
adaptthresh:使用局部一阶统计量的自适应图像阈值;
graythresh:使用 Otsu 方法计算全局图像阈值;
multithresh:使用 Otsu 方法计算多级图像阈值。
discrete solver
ode23、ode78、ode89、ode113、ode45
ode1、ode2、ode3、ode4、ode5
deadzone: 死区模块;
quantizer: 量化模块;
saturation: 饱和限制模块;
viscousFriction: 摩擦模块。
delay:时延模块;
difference:差分模块;
discreteFilter:离散IIR滤波器模块;
discreteFIR:离散FIR滤波器模块;
discreteIntegrator:离散积分模块;
discreteStateSpce:离散状态空间模块;
discreteTransferFunc:离散传递函数模块;
discreteZeroPole:离散零极点模块;
memory:时延模块;
unitDelay:单位时延模块;
ZOH:零阶采样保持模块。
fromFilecsv:导入csv文件数据;
fromFileExcel:导入excel文件数据;
fromFileTxt:导入txt文件数据;
fromFileMat:导入mat文件数据;
fromWorkspace:导入天元工作区数据;
ramp:产生斜坡信号;
Inf:输出Inf;
NaN:输出NaN;
e:输出自然对数底数e;
PI;输出圆周率。
compareToConst:与指定常数比较大小;
compareToZero:与零比较大小。
elementsSum:累加模块;
elementsProduct:累乘模块;
subtract:加减运算模块;
sqrt:求平方根模块;
signedSqrt:求有符号平方根模块;
reciprocalSqrt:请平方根倒数模块。
out:模型计算结果导出到天元工作区;
terminator:用于未连接的输出端口;
toFileCsv:模型计算结果导出到csv文件;
toFileExcel:模型计算结果导出到excel文件;
toFileMat:模型计算结果导出到mat文件;
toFileTxt:模型计算结果导出到txt文件;
toWorkspace:模型计算结果导出到天元工作区;
XYgraph:数据可视化。
mathFunc模块支持sin、cos、tan、asin、acos、atan、atan2函数。
全新ui界面(参数设置模块和模块信息整合,求解器选择布局更新)
连线拖拽算法;
模块库显示以及滚动交互;
版本信息页;
问题反馈页;
参数依赖联动渲染功能;
模块壁障算法;
优化了保存机制;
北太真元快速入门;
计算单元;
求解器;
模型库。
航空航天(5个);
控制系统(5个);
船舶(5个);
汽车(5个)。
无
天元和真元信息未分流,执行脚本过程中的error信息只能在天元命令行窗口打印出来,无法在真元界面显示。具体包括:
i.使用4类fromFile和fromWorkspace时,关于数据不合法检测的错误提示信息。
优化调试逻辑,退出调试时不再执行剩余未调试的代码,加入重新调试功能;
修复单行注释与多行注释嵌套使用的bug;
优化查找功能,可同时搜索变量、编辑器文本;
优化代码高亮,函数等类型加入高亮;
优化代码缩进,如代码嵌套层次缩进、字符串换行等;
优化自动补全,将自定义变量加入补全候选;
替换鼠标悬停在函数上按F1功能,将悬浮help窗口替换为在帮助文档中显示该函数;
优化管理和设置,将插件管理、字体设置、颜色设置移入设置页面中;
优化插件管理,新增插件信息展示,使用更友好的加载/卸载交互方式;
优化字体设置,重新设计了字体设置界面,增加了字体预览,合并简化了字体设置对象;
优化颜色设置,重新设计了颜色设置界面,提供了两款预设配色方案,合并简化了颜色设置对象;
使用全新的系统文件管理界面,优化了文件打开、导入、导出、保存等逻辑和体验;
优化快捷工具栏布局,增加快捷工具栏功能按钮;
优化当前活动路径布局,及其与地址导航栏的联动逻辑;
优化问题反馈页面,对反馈的问题进行分类,并支持上传图片、社区帮助等;
优化地址导航栏的展示逻辑,以列表替换树形结构。
修复在字符界面运行大规模 for 循环等命令软件会死机的问题;
windows 字符前端显示警告文本使用黄色字体,显示错误文本使用红色字体。
大幅度提高 for i = a 类型循环遍历效率,for i = a 现在会遍历 a 的列向量而不是遍历全体元素;小幅度提高 for i = 1:n 遍历效率。
修复内置函数报错时显示 1$ 的问题;
修复匿名函数参数求值错误时软件闪退的 bug;
修复输入a='时闪退的bug;
修复绘图函数surfc,meshc,meshz输入空矩阵闪退问题。
修复了使用错误方式调用函数时,返回报错信息包含 $1:$2
修复了eig函数在输入为稠密矩阵,输出只有一个变量时计算错误的问题
修复 some.title = "a"; size(some.title) 解析出错的问题;
修复调试模式和运行报错时会出现 std::bad_alloc 的问题;
修复 a.(b).c 在脚本中不能正常执行,找不到字段的问题;
修复某些情况下脚本执行 for 循环,变量会在外部工作空间生成的问题;
修复了如 a.b.c = 1 初始化嵌套结构体错误误报的问题;
修复报错显示逻辑,使用 error 函数报错,直接显示错误内容;
其他一些显示逻辑的修正。
增强 warning
函数功能,警告文字以黄色字体显示,同时支持 warning('off') 这样的用法将警告关闭。
新增isa函数对稀疏矩阵的判断;
新增一元函数对多维数组的支持;
新增numel函数对高维数组的支持;
新增ind2sub函数对高维数组的支持;
新增sub2ind函数对高维数组的支持;
支持高维数组取下标,赋值、读取、删除等操作;
提高eig函数在对称矩阵输入下的运行效率;
提高svd函数的运行效率。
绘图:设置图形属性时,属性名称大小写不敏感。
round:修复函数求值错误;
sort:修复对NaN元素的处理存在问题;
diag:修复了diag处理 0xn 类型矩阵的时候会闪退的bug;
speye:修复了speye 输入参数有负值的情况下会闪退的问题;
ind2sub: 修复了输出类型错误的问题;
sub2ind: 修复了输出类型错误的问题。
linprog:求解线性规划问题;
intlinprog:混合整数线性规划(MILP);
quadprog:二次规划。
对已有的10个函数 csapi、csape、ppmak、bspline、spapi、spmak、fnval、fnder、fn2fm、fnbrk 进行了重构,增加函数使用稳定性,减小闪退的机率。
系统默认字体为思源黑体CN Regular,若用户端电脑未安装思源黑体,则无法拥有最优视觉体验。临时解决方案:用户端如遇以上情况,则默认显示为其他用户端系统支持的字体,不影响阅读及功能使用。