管理员

北太天元社区支持

此用户很神秘,没有留下任何信息

12帖子
75回复
1837积分
ID:011416
关于Windows平台4.2.0版本自动升级问题说明

各位用户您好,

近期我们发现一个自动更新相关问题:在Windows系统环境下,若您通过自动更新功能从4.2.0版本升级到更高版本时,安装包会被错误下载为适用于Ubuntu的版本。为了让您能正常完成升级,您可以手动从官网下载更高版本的安装包,然后替换安装即可。

对于给您带来的不便,我们深表歉意,也十分感谢您的理解与支持!


0 2025-09-26
如何在北太天元中用bex编译包含Matlab接口调用的C代码

现有的C代码里调用的是matlab的接口,需要改为调用北太天元的接口,如:

#include "bex/bex.h"

void bexFunction()

bxArray

……

方法如下


1.新建<mex.h>头文件,与要编译的C文件放同一个文件夹中

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define mxIsNaN    isnan

#define mxCreateDoubleMatrix          bxCreateDoubleMatrix
#define mxCreateLogicalMatrix         bxCreateLogicalMatrix
#define mxCreateStructMatrix          bxCreateStructMatrix
#define mxCreateCellMatrix            bxCreateCellMatrix
#define mxCreateSparse                bxCreateSparse
#define mxCreateString                bxCreateString
#define mxCreateCharMatrixFromStrings bxCreateCharMatrixFromStrings
#define mxCreateDoubleScalar          bxCreateDoubleScalar

#define mxAddField bxAddField
#define mxSetField bxSetField
#define mxSetCell  bxSetCell

#define mxGetNumberOfElements  bxGetNumberOfElements
#define mxGetNumberOfFields    bxGetNumberOfFields
#define mxGetDoubles           bxGetDoubles
#define mxGetLogicals          bxGetLogicals
#define mxGetField             bxGetField
#define mxGetFieldNameByNumber bxGetFieldNameByNumber
#define mxGetCell              bxGetCell

#define mxGetN     bxGetN
#define mxGetM     bxGetM
#define mxGetNzmax bxGetNzmax
#define mxGetJc    bxGetJc
#define mxGetIr    bxGetIr
#define mxGetPr    bxGetPr

#define mexErrMsgTxt    bxErrMsgTxt

#ifdef _WIN32
#define mystrcmp _stricmp
#else
#include <strings.h>
#define mystrcmp strcasecmp
#endif


2.在北太天元命令窗口输入“bex 文件名.c”,编译对应的C文件。

编译后会出现以下对话并在文件夹下生成“文件名.bexw64”等文件,例如

image.png


注意:

1)需安装C语言编译器,建议 VS 2019。

2)编译过程中出现乱码,是因为系统显示字体的原因。在系统“语言和区域”设置中,打开“使用Unicode UTF-8提供全球语言支持”选项,如下图所示,再次运行bex 文件名.c,显示正常。

image (1).png

image (2).png

0 2026-01-30
在北太天元中使用DeepSeek-V4

大家好,

由于DeepSeek-V4版本修改了模型名称,原来是:

deepseek-chat 

deepseek-reasoner


现在改为了:

deepseek-v4-flash

deepseek-v4-pro


旧有的 API 接口的两个模型名 deepseek-chat 与deepseek-reasoner 将于三个月后(2026-07-24)停止使用。

当前阶段内,这两个模型名分别指向deepseek-v4-flash 的非思考模式与思考模式。


在北太天元中,您可以这样配置(默认为思考模式):

deepseek-v4-flash,deepseek-v4-pro

您也可以加入deepseek-chat以使用deepseek-v4-flash的非思考模式,但是记得三个月后(2026-07-24)将其删除。

ScreenShot_2026-04-24_154223_651.png



后续我们会持续适配各类大模型最新版本,保障大家的使用体验,如有配置问题,欢迎随时咨询。

相关参考:

DeepSeek-V4 预览版:迈入百万上下文普惠时代

0 2026-04-24
通过codegen生成代码后,运行程序提示运行时错误

通过codegen生成代码后,运行程序提示运行时错误:内建函数 [eq] 导入失败(可能函数名不存在)。位置:[file: C:\codegen\builds\builtin_import.cppp, line:979]

0. main(...)

1. sinc(...)

86405F90ACC902E9BD2C986C0442AA10.png


示例问题代码:

function y=sinc(x)

    i = find(x==0);

    x(i) = 1;

    y = sin(pi*x)./(pi*x);

    y(i) = 1;


原因:

入口函数的入参只能是字符串,而且需要在命令行调用时给出参数


解决办法:

1. 程序修正示例

function y=sinc(a)

    x=str2num(a);

    i = find(x==0);

    x(i) = 1;

    y = sin(pi*x)./(pi*x);

    y(i) = 1;

2.运行时如果是双击bat文件执行的话,把参数仿bat文件里,就像这样

7D80ED846C1A266BDF92D987B3A48537.png



0 2026-04-27
Windows中运行北太天元安装程序时,提示损坏的映像

Windows中运行北太天元安装程序时,出现下面的报错提示:

baltamatica.exe-损坏的映像

D:\baltamaticaVlib\iconv-2.dll没有被指定在 Windows 上运行,或者它包含错误。请尝试使用原始安装介质重新安装程序,或联系你的系统管理员或软件供应商以获取支持。错误状态0xc0e90002。

微信图片_2026-04-27_142126_579(1).jpg


原因:

Windows智能应用控制阻止了安装程序的运行


解决办法:

设置->隐私和安全性->windows安全中心->应用和浏览器控制

微信图片_20260427142452_216_133.png

1. “智能应用控制”,点进去关闭

ScreenShot_2026-04-27_142747_959.png

2. “基于声誉的保护设置”->阻止可能不需要的应用,关闭

ScreenShot_2026-04-27_142911_081.png

2 2026-04-27
未定义的函数或变量 'isCharRowVector'

使用isCharRowVector或依赖该函数的其他函数,如mustBeTextScalar时,报未定义的函数或变量 'isCharRowVector'。

911D5FE877A232CDFD068101ED4B8021.png


原因:

函数文件确实


解决办法:

将下面链接中的文件放到baltamatica\scripts\checkfun这个目录下即可

isCharRowVector.m

0 2026-04-29
北太天元 SymPy 工具箱 v2.0 Preview

各位用户好,近期我们收到很多关于 符号计算工具箱 的功能需求和建议。为了让大家尽早用上重做后的工具箱,我们决定先以预览版形式发布,欢迎下载试用,也希望大家帮我们一起测试。


适配版本:北太天元 2025 版

支持平台:Windows 10/11、Ubuntu amd64/arm64、macOS arm64/x86_64

另外,由于2026年6月29日对SymPy工具箱又进行了一次更新,建议在完成本篇文档中的内容更新后,根据 SymPy工具箱更新说明 这篇文档进行再次更新


1. 主要更新

① 架构重构,实现函数重载

旧版的符号计算函数命名包含 sym 前缀,例如 symdiff、symint 等函数,使用起来不太方便。新版通过架构重构后,实现同名函数重载:

% 旧版
x = sym('x');  y = symdiff(sin(x));

% 新版
syms x;  y = diff(sin(x)); disp(y)   % diff 自动重载

② 新增近 20 个函数

涵盖 laplace / ilaplace、fourier / ifourier、solve / vpasolve、int / vpaintegral、limit、series、symprod、vpasum、cumsum / cumprod、integrateByParts 等。完整函数列表会在工具箱更新日志中提供。使用示例文件、函数说明文档会随更新包一同提供。

③ 多平台同步发布

2. 使用方法

下载对应平台的库文件 &rarr; 解压 &rarr; 替换到本地  2025 安装目录中相应位置即可生效。

3. 关于预览版

作为预览版本,实际使用中可能存在一些 bug 或与预期不一致的结果(部分函数的已知差异详见说明文档备注列)。如果您在使用过程中遇到任何问题、异常输出或有改进建议,欢迎直接在本帖下方留言反馈,我们会逐条跟进处理,您的反馈会直接帮助我们把正式版做得更好 

4. 下载

① Windows x86_64

SymPy-dev-2.0-preview-windows_x86_64

② Ubuntu amd64

SymPy-dev-2.0-preview-Ubuntu-amd64

③ Ubuntu arm64

SymPy-dev-2.0-preview-Ubuntu-arm64

④ macOS arm64

SymPy-dev-2.0-preview-MacOS_arm64

⑤ macOS x86_64

SymPy-dev-2.0-preview-MacOS_x86_64

⑥ 函数使用说明

符号计算工具箱预览版函数使用说明

5. 预览版更新指南

注:以下指南皆基于北太天元2025版本 进行。

① Windows下更新

    1. 加载插件

        a) 下载社区上对应系统的压缩包并将压缩包解压到本地,将其中的main.dll文件替换软件安装目录下文件夹(D:\baltamatica\plugins\SymPy)中的对应文件;

            并将原有北太天元安装目录下的 SymPy\scripts 目录删除(D:\baltamatica\plugins\SymPy\scripts),将压缩包中的scripts 放到SymPy目录下。

1.PNG

        b) 同时将压缩包中的libbt_builtin_array.dll替换软件安装目录下文件夹(D:\baltamatica\lib)中的对应文件。

2.PNG

        c) 打开北太天元2025,加载插件SymPy。(会默认同步加载Python)

3.png

    2. 加载脚本

        a) 从地址栏点击文件夹图标,选择压缩包解压后的文件夹Examples打开,就可以使用里面的所有示例了。(注意:推荐使用运行部分代码来运行每个示例)

4.jpeg

② Ubuntu下更新

    1. 加载插件

        a) 下载社区上对应系统的压缩包并将压缩包解压到本地,将其中的main.so文件替换软件安装目录下文件夹(/opt/Baltamatica/plugins/Sympy)中的对应文件;

            并将原有北太天元安装目录下的 SymPy\scripts 目录删除(/opt/Baltamatica/plugins/Sympy/scripts),将压缩包中的scripts 放到SymPy目录下。

        21.png

        b) 同时将压缩包中的libbt_builtin_array.so替换软件安装目录下文件夹(计算机/opt/Baltamatica/lib)中的对应文件。

22.png

        c) 打开北太天元2025,加载插件SymPy。(会默认同步加载Python)

23.png

    2. 加载脚本

        a) 从地址栏点击文件夹图标,选择压缩包解压后的文件夹Examples打开,就可以使用里面的所有示例了。(注意:推荐使用运行部分代码来运行每个示例)

24.png

③ macOS下更新

    1. 加载插件

        a) 下载社区上对应系统的压缩包并将压缩包解压到本地,将其中的main.dylib文件替换软件安装目录下文件夹(根据下图指引到Contents -> plugins -> SymPy)中的对应文件;

            并将原有北太天元安装目录下的 SymPy\scripts 目录删除(Contents -> plugins -> SymPy -> scripts),将压缩包中的scripts 放到SymPy目录下。

31.png

311.png

        b) 同时将压缩包中的libbt_builtin_array.dylib替换软件安装目录下文件夹(Contents -> Frameworks)中的对应文件。

32.png

        c) 打开北太天元2025,加载插件SymPy。(会默认同步加载Python)

33.png

    2. 加载脚本

        a) 从地址栏点击文件夹图标,选择压缩包解压后的文件夹Examples打开,就可以使用里面的所有示例了。(注意:推荐使用运行部分代码来运行每个示例)

34.png



1 2026-04-30
SymPy工具箱预览版 更新日志

1. 基本信息

SymPy工具箱    预览版    20260429    

本次 SymPy 工具箱预览版基于北太天元 2025 SymPy 插件完成架构重构,兼容 M 语言函数及语法,实现用户现有脚本无缝迁移;同时扩充符号计算能力,新增级数运算、积分变换、方程求解、高精度数值计算等高频函数,覆盖符号变量创建、极限微分计算、积分求解、符号化简及符号初等运算等核心应用场景,进一步完善北太天元符号计算功能。

2. 功能概览

SymPy 工具箱预览版全量功能详见下表。

需特别说明:部分旧版以 sym 为前缀的函数已在本次预览版中完成更名,具体可参见表格对应备注;另有部分旧版函数仍在重构适配中,相关能力将在正式版陆续开放。

函数名函数描述支持的语法备注
sym创建单个符号变量

x = sym("x")

sym(__,set)

sym(num)

sym(strnum)


syms创建单个或者多个符号变量

syms var1 ... varN

syms ___ set


cumprod符号累积乘积

B = cumprod(A)

B = cumprod(A,dim)

A 仅支持符号变量数组,不支持表达式
cumsum符号累积和

B = cumsum(A)

B = cumsum(A,dim)

A 仅支持符号变量数组,不支持表达式
series皮瑟级数series(f,var)
taylor泰勒级数

T = taylor(f,var)

T = taylor(f,var,a)

T = taylor(f,var,a,order)

原函数名:symtaylor
symprod级数的乘积

F = symprod(f,k,a,b)

F = symprod(f,k)


vpasum使用变精度进行数值求和

s = vpasum(f,a,b)

s = vpasum(f,x,a,b)


ilaplace拉普拉斯逆变换

f = ilaplace(F)

f = ilaplace(F,transVar)

1.不支持F为符号数值 

2.显示结果均多了Heaviside(x)

laplace拉普拉斯变换

F = laplace(f)

F = laplace(f,var,transVar)


limit符号表达式的极限

limit(f,var,a)

limit(f,var,a,"left")

limit(f,var,a,"right")

原函数名:symlimit

支持符号变量、符号表达式,不支持符号向量和矩阵

diff符号微分

Df = diff(f)

Df = diff(f,var)

Df = diff(f,var,n)

Df = diff(f,var1,...,varN)

原函数名:symdiff

支持符号变量、符号表达式,不支持符号向量和矩阵,方程

int定积分与不定积分

F = int(expr)

F = int(___,Name,Value)

原函数名:symint

仅支持部分Name

vpaintegral可变精度算术进行高精度的数值积分

vpaintegral(f,a,b)

vpaintegral(f,x,a,b)

vpaintegral(___,Name,Value)

Name仅支持'waypoints'
integrateByParts分部积分G = integrateByParts(F,du)积分项含有非积分式会报错
vpasolve数值求解符号方程

S = vpasolve(eqn,var)

S = vpasolve(eqns,vars)

1.Eqn 支持符号方程,不支持表达式

2.对于多个解的问题仅能返回一组解

solve方程和方程组求解器

S = solve(eqn,var)

S = solve(eqns,vars)

1. Eqn 支持符号方程,不支持表达式
vpa可变精度算术(任意精度算术)

yVpa = vpa(y)

yVpa = vpa(y,d)

原函数名:symvpa 

支持表达式,不支持数值(double)、向量和矩阵

subs符号代换snew = subs(s,match,replacement)

原函数名:symsubs

支持符号变量,表达式,方程,不支持符号向量和矩阵

double将符号转化为浮点数D = double(s)

原函数名:sym2double

仅支持符号数值,不支持向量和矩阵

fourier符号表达式的傅里叶变换

FT = fourier(f)

FT = fourier(f,transVar)

FT = fourier(f,var,transVar)


ifourier符号表达式的傅里叶逆变换

ifourier(F)

ifourier(F,transVar)

ifourier(F,var,transVar)


eq创建符号等式

A == B

eq(A,B)


simplify代数简化S = simplify(expr)

原函数名:symsimplify

仅支持符号表达式,不支持向量和矩阵

sqrt求符号表达式的平方根sqrt(x)不支持符号向量和矩阵
abs符号绝对值abs(z)不支持符号向量和矩阵
exp符号指数exp(x)不支持符号向量和矩阵
log符号对数log(x)不支持符号向量和矩阵
acos符号反余弦acos(x)不支持符号向量和矩阵
asin符号反正弦asin(x)不支持符号向量和矩阵
atan符号反正切atan(x)不支持符号向量和矩阵
cos符号余弦cos(x)不支持符号向量和矩阵
sin符号正弦sin(x)不支持符号向量和矩阵
tan符号正切tan(x)不支持符号向量和矩阵
acosh符号反双曲余弦acosh(x)不支持符号向量和矩阵
asinh符号反双曲正弦asinh(x)不支持符号向量和矩阵
cosh符号双曲余弦cosh(x)不支持符号向量和矩阵
sinh符号双曲正弦sinh(x)不支持符号向量和矩阵
tanh符号双曲正切tanh(x)不支持符号向量和矩阵


3. 已知问题

1) 使用过程中可能出现syms函数不存在的情况,重启软件即可解决。

2) 运行示例脚本时,可能会出现该脚本或其他脚本不存在的提示,重启软件即可解决;建议优先使用运行节功能,避免运行整个脚本。

3) 部分新增函数的帮助信息无法通过help函数获取,其具体使用方法可参照函数帮助文档。

4) 目前需通过disp函数打印符号变量及符号表达式的内容。

5) 部分函数的返回形式与对标软件存在差异,该差异不影响计算结果的正确性。


1 2026-04-30
SymPy工具箱更新说明

本次更新针对符号计算部分功能进行说明与修复,补充说明符号函数定义,微分方程求解,修复 subs 多字符替换,完善 series 和 int 的语法等功能。

更新方式:

1.完成2.0预览版中的更新操作

2.下载下面的文件,并将里面的代码和文件夹覆盖复制到北太天元安装目录的/plugins/SymPy/scripts下

scripts.zip

以下为具体更新内容、旧版问题、新版用法及示例:

一、补充符号函数定义

修复问题

原说明文档中仅介绍了 syms 支持定义基础符号变量,无法直接创建符号函数(如 f (x)、g (x,y))。

更正说明

Syms 支持直接创建符号函数,可一键定义单 / 多变量函数;支持先定义变量再定义函数 或 变量 + 函数同步定义。

示例

% 方式1:先定义变量,再定义函数
syms x  % 先创建变量x
syms f(x)  % 定义单变量函数f(x)
syms 'g(x)'  % 或使用字符串形式

% 方式2:变量+函数同步定义
syms x f(x)   % 定义单个变量
syms t w z(w,t) % 定义多个变量

注意:使用方式1时一定要先定义自变量,然后定义符号函数,否则命令会未生效但不进行报错。

二、补充常微分方程求解(dsolve)函数介绍

修复问题

使用 dsolve 函数出现错误,本次修复了部分问题完善语法,并给出了注意事项。

支持语法

1.S = dsolve(eqn) :求解微分方程 eqn,其中 eqn 是符号方程。使用 diff 和 == 来表示微分方程。例如,diff(y,x) == y 表示方程 dy/dx = y。通过将 eqn 指定为由微分方程组中的方程组成的向量来求解该微分方程组。

2.S = dsolve(eqn,cond) 求解具有初始条件或边界条件 cond 的 eqn。

3.S = dsolve(eqns,conds) 求解具有初始条件或边界条件 conds 的 方程组 eqns。

注意:这里的 eqns 需要使用 horzcat 进行并置或者使用元胞数组, conds 仅支持使用元胞数组的形式。

使用示例

% 求解一阶微分方程
syms a t f(t)
eqf = eq(diff(f, t), a*f);
disp(dsolve(eqf))
% 输出结果为: C1*exp(a*t)
% 加上初值条件:
disp(dsolve(eqf, eq(subs(f, t, 0), 5)))
% 输出结果为: 5*exp(a*t)
% 求解二阶微分方程:
eqf2 = eq(diff(f, t, 2), a*f);
disp(dsolve(eqf2))
% 输出结果为: C1*exp(-sqrt(a)*t) + C2*exp(sqrt(a)*t)
% 加上两个初值条件:
df = diff(f, t);
conds = {eq(subs(f, t, 0), 0), eq(subs(df, t, 0), 1)};
disp(dsolve(eqf2, conds))
% 输出结果为:exp(sqrt(a)*t)/(2*sqrt(a)) - exp(-sqrt(a)*t)/(2*sqrt(a))
% 求解二元常微分方程组:
syms t y(t) z(t)
eq1 = diff(y,t)==z;
eq2 = diff(z,t)==-y;
eqs = {eq1,eq2};
s = dsolve(eqs);
% 此时会返回 cell 数组:
disp(s{1})
% 输出结果为: Eq(y(t), C1*sin(t) + C2*cos(t))  
disp(s{2})
% 输出结果为: Eq(z(t), C1*cos(t) - C2*sin(t))

三、修复 subs 多字符替换功能

修复问题

subs 支持多字符替换但是结果不对,应该是命令未生效所致。本次修复了该问题。

使用示例

syms x y z % 定义符号变量
expr = x + 2*y + 3*z;

vars = horzcat(x,y,z);  % 使用horzcat将变量并置
syms a b
values = horzcat(1,a,b);

newexpr = subs(expr,vars,values);  % 使用变量替换
disp(newexpr)
% 修改前输出结果为 x + 2*y + 3*z  (似乎是未生效)
% 修改后输出结果为 2*a + 3*b + 1

四、series 语法功能完善

修复问题

函数series的语法使用有限,仅支持 series(f),其他情况均报错。在出现错误的基础上也完善了语法功能。

支持语法

1.series(f):默认按symvar(f,1)变量,在0 点展开至 5 阶

2.series(f, var):指定变量var,在0 点展开至 5 阶

3.series(f, var, a):指定变量var,在a 点展开

4.series(__,Name,Value):指定展开点 ExpansionPoint、阶数 Order(Name-Value 参数)

使用示例

syms x
f = sqrt(x) + x^2; % 待展开函数

% 示例1:默认展开
s1 = series(f);
disp(s1)

% 示例2:指定展开变量
s2 = series(f,x);
disp(s2)

% 示例3:指定展开点
s3 = series(f,x,1);
disp(s3)

% 示例4:指定展开点inf,展开阶数 9
s4 = series(f,x,'ExpansionPoint',Inf,'Order',9);
disp(s4)

五、int 语法功能完善

修复问题

当指定参数上下界 a,b 时运行报错。对 int 的所有输入参数组合进行的完善。下面是现已支持的语法。

支持语法

1.F = int(expr) :计算符号表达式 expr 的积分。使用默认积分变量。

2.F = int(expr,var) :计算 expr 关于符号标量变量 var 的不定积分。

3.F = int(expr,a,b) :计算 expr 从 a 到 b 的定积分。使用默认积分变量。

4.int(expr,[a b]) 等效于 int(expr,a,b)

5.F = int(expr,var,a,b) :计算 expr 关于符号标量变量 var 从 a 到 b 的定积分。

6.int(expr,var,[a b]) 等效于 int(expr,var,a,b)

7.F = int(___,Name,Value) :使用一个或多个 Name,Value 参量指定附加选项。支持的 Name 包括 'IgnoreSpecialCases', 'PrincipalValue', 'Hold'。

使用示例

% 示例:
% 不定积分
syms x y
disp(int(cos(x)))
% 输出结果为  sin(x)
disp(int(log(x + y), x))
% 输出结果为  x*log(x + y) - x + y*log(x + y)

% 定积分、重积分
disp(int(exp(-x), 0, inf))
% 输出结果为  1
disp(int(2*x, sin(y), cos(y)))
% 输出结果为  cos(2*y)
disp(int(int(exp(-x^2 - y^2), x, -inf, inf), y, -inf, inf))
% 输出结果为  pi

% 保持积分号和计算 Cauchy 主值
syms x;
disp(int(1/(x - 1), x, 0, 2))
% 输出结果为  nan
disp(int(1/(x - 1), x, 0, 2, "Hold", true))
% 输出结果为  Integral(1/(x - 1), (x, 0, 2))
disp(int(1/(x - 1), x, 0, 2, "PrincipalValue", true))
% 0

六、expand 函数bug修复

修复问题

expand 函数使用均报错,本次解决修复了报错问题。

支持语法

1.expand(S) 将展开 S 中的所有括号,并通过应用标准恒等式简化 cos(x + y) 等函数的输入。

2.expand(S,Name,Value) 使用一个或多个名称-值对组参量指定的附加选项。支持的 Name 包含 'ArithmeticOnly' 、'IgnoreAnalyticConstraints'。

使用示例

clear; clc;

%% 示例 1:多项式展开
% 展开二项式 (x+y)^2,验证基本的多项式展开功能
syms x y
g = expand((x+y)^2);
disp(g)        % 输出: x^2 + 2*x*y + y^2

dg = diff(g, x);   % 对展开后的多项式求关于 x 的导数
disp(dg)       % 输出: 2*x + 2*y

%% 示例 2:向量元素的批量展开
% 对向量中的每个元素分别进行展开,演示 horzcat 构造向量及批量展开
syms t
V = horzcat(sin(2*t), cos(2*t));   % 构造水平向量 [sin(2t), cos(2t)]
vf = expand(V);
disp(vf)       % 输出: Matrix([[2*sin(t)*cos(t), 2*cos(t)^2 - 1]])

%% 示例 4:三角函数展开与 ArithmeticOnly 选项
% 对比默认展开与仅算术展开的效果,演示 ArithmeticOnly 选项的作用
syms x
f = (sin(3*x) - 1)^2;
disp(expand(f))    
% 输出: 16*sin(x)^6 - 24*sin(x)^4 + 8*sin(x)^3 + 9*sin(x)^2 - 6*sin(x) + 1(完全展开三角函数)

disp(expand(f, 'ArithmeticOnly', true))  
% 输出: sin(3*x)^2 - 2*sin(3*x) + 1(不展开 sin(3*x),仅展开代数部分)

%% 示例 5:对数展开与 IgnoreAnalyticConstraints 选项
% 对比默认展开与强制展开对数的效果,演示忽略解析约束的作用
syms a b c
f = log((a*b/c)^2);
disp(expand(f))    
% 输出: log(a^2*b^2/c^2)(默认不展开对数,因涉及定义域限制)

disp(expand(f, 'IgnoreAnalyticConstraints', true))  
% 输出: 2*log(a) + 2*log(b) - 2*log(c)(强制展开,忽略 a,b,c>0 的约束)

七、修复 solve 求解多元方程组多个解问题

修复问题

solve 函数在求解多元方程组含有多个解的问题时会出现报错,修复该问题,并输出结构体数组形式包含解。

使用示例

%% 多元方程组求解,多个解
syms u v
% 定义方程组:使用 horzcat 将多个方程水平拼接
% 方程1: 2*u^2 + v^2 = 0  (两个平方项之和为零)
% 方程2: u - v = 1         (线性约束)
eqns = horzcat(2*u^2 + v^2 == 0, u - v == 1);
% 指定求解变量顺序 [v, u]
% vars 的顺序会影响返回结构体 S 中字段的排列:S.v 在前,S.u 在后
vars = horzcat(v, u);% 求解方程组
S = solve(eqns, vars)% 输出包含 v,u 字段的1&times;2结构体,说明有两组解
disp(S.v) % 输出解的v的值
disp(S.u) % 输出解的u的值

注意:多元方程组得到多个解时的结果保存在结构体数组中,数组的大小代表解的个数,结构体中的字段代表未知变量,使用 disp 显示时需要使用类似 disp(S.x) 的形式来分别显示所有解中x的值。

八、新增 log10 函数

使用示例

syms x
f = x^3;
fLog10 = log10(f)
disp(fLog10) % 输出 log(x^3)/log(10)


0 2026-06-29
北太天元科学计算与系统仿真软件v2025(鲲鹏适配版)

【安装包获取】

版本芯片操作系统安装形式
baltamatica-999.2025.dev0-1.openEuler.arm64.rpm    arm    openEuler    安装包         


【更新内容】

完成北太天元科学计算与系统仿真软件完成在openEuler系统和鲲鹏处理器上的深度适配,在性能方面较通用LinuxARM版有大幅提升,经内部测算:

  • 三种经典ODE求解器(ODE23、ODE45、ODE113)性能平均提升28.26%

  • 25种经典稠密矩阵、稀疏矩阵运算性能平均提升41.55%

  • 17种M语言经典结构解释器性能平均提升25.19%

  • 16种核心语法(while、if、switch、try等)性能平均提升30.08%


0 2026-07-08
大赛版上线|助力全国大学生数学建模竞赛

    结合数模国赛真题趋势,北太天元大赛版聚焦竞赛高频需求,基于2025版本功能完成三大维度升级,适配预测分析、数据拟合、公式推导、方程求解等主流赛题场景,帮助参赛师生高效备赛、稳步提升竞赛表现。

一 、大赛版核心功能升级


统计与机器学习工具箱补齐,适配主流建模场景

    补齐数模国赛高频使用预测模型,完善SVM支持向量机、回归树、广义线性混合效应模型、逐步回归等全套主流算法工具。模型支持参数快速调试、一键训练、结果可视化输出,适配国赛风险评估、等级分类、趋势拟合、优化决策等经典题型。

符号计算能力增强,复杂推导零压力

    针对国赛微分方程、优化模型、数理推导等高频难点题型,大赛版重点升级了符号计算核心能力,可高效完成复杂多元公式化简、微积分推导、方程组解析求解等高精度运算,通过算法优化提升复杂公式的求解速度与准确率,规避手工推导易错、精度不足等问题。

数据导入导出升级,预处理更高效

    针对国赛赛题海量原始数据、多格式附件的特点,大赛版兼容CSV、TXT、XLSX、MAT、DAT等主流数据文件格式,还支持视频、音频数据灵活处理。依托软件内置的数据处理函数,可一站式完成缺失值填充、异常值剔除、数据归一化等预处理操作,适配各类型赛题解题需求。

完整功能介绍请见:[北太振寰] 北太天元大赛版发布!符号数学、统计学习、优化算法全面增强

更新列表详见:北太天元大赛版更新日志


二、大赛版官方下载通道

    

    本次北太天元大赛版为赛事专属版本,适配Windows、macOS、Linux主流电脑系统,大家可直接通过官方渠道下载对应版本安装使用:


三、大赛版License申请+导入完整教程

   

    激活大赛版License后方可解锁专属功能,授权申领全程免费、流程简便,具体步骤与注意事项如下:

License申请条件

    本次大赛版License面向2026年全国大学生数学建模竞赛全体参赛师生开放申领,有效期覆盖本次完整竞赛周期(即日起~2026年10月1日)。

License申请步骤

1. 访问北太振寰官方网站(https://baltamatica.com/),点击页面右上角登录按钮,已有账号可直接登录,无账号需完成注册后登录。

2. 登录成功后,点击账号名下拉菜单,选择「许可证管理」,进入北太天元软件许可证授权专属页面。

3.PNG

3. 在页面中找到大赛版License入口,点击「立即申请」按钮进入申请界面。

4.PNG

4. 填写设备序列号后提交,即可完成License申请。

(设备序列号获取方式:打开软件,依次点击「帮助」-「许可证」-「设备序列号」即可查看)

5.PNG

6.png

License导入步骤

方法一(在线获取许可):

1. 打开北太天元软件,点击右上角登录入口,登录已完成License申请的账号。

21.png

2. 通过顶部菜单栏依次点击「帮助」-「许可证」-「许可证导入」。

22.png

3. 在许可证导入页面中,点击 「我没有许可证」下方的 「立即获取」按钮。

23.png

4. 在弹出的授权界面中,选择大赛版License,点击「导入」即可自动完成激活授权。

24.png

25.png

方法二(离线文件导入):

1. 返回许可证授权页面,点击右侧「我的许可证」,进入许可证管理页面

31.png

2. 找到已申请成功的大赛版License,点击右侧「在线下载」,将授权文件保存至本地设备。

32.png

3. 打开北太天元软件,通过顶部菜单栏依次点击「帮助」-「许可证」-「许可证导入」。

33.png

4. 在许可证导入页面中,点击「我有许可证」板块下方的「立即导入」按钮,选中本地保存的授权文件即可完成导入。

34.png

温馨提示:License导入完成后,重启软件即可使赛事专属功能全部生效。

结语

    

    北太天元已连续多年为全国大学生数学建模竞赛提供专属技术支撑与赛事服务。本次大赛版基于赛事实战场景深度优化,聚焦建模全流程需求,助力参赛团队高效完成建模、仿真与论文撰写工作。

    预祝全体参赛队员潜心备赛、从容应战,在数模国赛中斩获理想成绩!


0 2026-08-10
北太天元大赛版更新日志

一、基本信息


北太天元科学计算与系统仿真软件大赛版20260810



二、功能新增

  1. 主体函数新增

  • 数学函数

函数描述
griddata对二维或三维散点数据插值                                                          
griddatan对 N 维散点数据插值
scatteredInterpolant对二维或三维散点数据插值
RandStream随机数流
RandStream.create创建统计独立的随机数流
RandStream.list列出随机数生成器算法
RandStream.getGlobalStream                                                获取当前全局随机数流
RandStream.setGlobalStream设置全局随机数流
reset重置随机数流
nufft非均匀快速傅里叶变换
nufftnN 维非均匀快速傅里叶变换
centrality衡量节点的重要性
transreduction传递归约
transclosure传递闭包
isisomorphic确定两个图是否同构
isomorphism计算两个图之间的同构
  • 数据导入与分析函数

函数描述
dlmread                                                                                               将 ASCII 分隔的数值数据文件读取到矩阵                                
dlmwrite将矩阵写入到 ASCII 分隔文件
VideoReader创建对象以读取视频文件
hasFrame确定是否有视频帧可供读取
read读取一个或多个视频帧
readFrame读取下一个视频帧
VideoWriter创建对象以写入视频文件(当前仅支持Windows系统)
open打开文件以写入视频数据
close写入视频数据之后关闭文件
writeVideo将视频数据写入到文件
readcell基于文件创建元胞数组
readlines以字符串数组形式读取文件行
readvars从文件中读取变量
writecell将元胞数组写入文件
  • 绘图函数

函数描述
saveas                                                                                                   将图窗保存为特定文件格式                                                          
exportgraphics导出图窗或图
  1. 工具箱函数新增

  • 统计与机器学习工具箱

函数描述
rcoplot                              残差观测顺序图
stepwise逐步回归的交互式工具
onehotencode将数据标签编码为独热向量
onehotdecode将独热向量解码为类别标签
fitglme拟合广义线性混合效应模型
refit  重构广义线性混合效应模型
GeneralizedLinearMixedModel                                                  广义线性混合效应模型类
predict预测广义线性混合效应模型的响应
random从拟合的广义线性混合效应模型生成随机响应
fitted广义线性混合效应模型的拟合响应值
coefCI广义线性混合效应模型系数的置信区间
coefTest广义线性混合效应模型的固定效应与随机效应假设检验
compare比较广义线性混合效应模型
covarianceParameters提取广义线性混合效应模型的协方差参数
residuals拟合的广义线性混合效应模型的残差
response广义线性混合效应模型的响应向量
fitrsvm拟合支持向量机回归模型
CompactRegressionSVM紧凑型支持向量机回归模型
predict使用支持向量机回归模型预测响应
discardSupportVectors舍弃线性支持向量机(SVM)回归模型的支持向量
loss支持向量机回归模型的回归误差
RegressionSVM支持向量机回归模型
fitrkernel使用随机特征展开拟合高斯核回归模型
predict预测高斯核回归模型的响应
RegressionKernel使用随机特征展开的高斯核回归模型
loss高斯核回归模型的回归损失
resume恢复训练高斯核回归模型
fitrtree拟合用于回归的二元决策树
RegressionTree回归树
CompactRegressionTree紧凑型支持向量机回归模型
nodeVariableRange获取决策树节点的变量范围
predictorImportance回归树的预测变量重要性估计
view查看回归树
loss回归树模型的回归误差
predict使用回归树模型预测响应
ClassificationKernel使用随机特征展开的高斯核分类模型
loss高斯核分类模型的分类损失
predict预测高斯核分类模型的标签
resume恢复训练高斯核分类模型
fitckernel使用随机特征展开拟合二元高斯核分类器
rocmetrics用于二元分类器与多类分类器的受试者工作特征(ROC)曲线及性能指标
addMetrics计算额外的分类性能指标
average计算多类问题中平均受试者工作特征(ROC)曲线的性能指标
plot绘制受试者工作特征(ROC)曲线及其他性能曲线
aucROC 曲线或精确率-召回率曲线下的面积
modelOperatingPointrocmetrics 对象的工作点
anova方差分析(ANOVA)结果
groupmeans方差分析的均值响应估计
multcompare方差分析的均值多重比较
stats方差分析表
varianceComponent方差分析中的方差分量估计
boxchart方差分析的箱线图
plotComparisons方差分析的均值多重比较图
  • 深度学习工具箱

函数描述
mapminmax                           数据归一化处理函数,将矩阵各行数据映射到指定范围,默认范围为 [-1, 1]
newff前馈神经网络创建函数,用于构建传统 BP 神经网络结构
minmax计算矩阵每一行的最小值和最大值,返回各输入变量的取值范围,常用于 newff 创建网络时指定输入范围
train神经网络训练函数,用于根据样本数据训练 newff 创建的网络
sim神经网络仿真/预测函数,用于计算训练后网络对输入数据的输出结果
  1. 插件新增

  • SymPy

SymPy插件在 2025 版基础上完成了底层架构重构,实现对 M 语言语法兼容。全量功能详见下表:

函数描述
sym                                                                                                        创建单个符号变量                                                                            
syms创建单个或者多个符号变量                                                 
cumprod符号累积乘积
cumsum符号累积和
series皮瑟级数
taylor泰勒级数
symsum符号级数求和
symprod级数的乘积
vpasum使用变精度进行数值求和
ilaplace拉普拉斯逆变换
laplace拉普拉斯变换
limit符号表达式的极限
diff符号微分
int定积分与不定积分
vpaintegral可变精度算术进行高精度的数值积分
integrateByParts分部积分
vpasolve数值求解符号方程
solve方程和方程组求解器
dsolve求解微分方程组
vpa可变精度算术(任意精度算术)
subs符号代换
double将符号转化为浮点数
fourier符号表达式的傅里叶变换
ifourier符号表达式的傅里叶逆变换
eq创建符号等式
simplify代数简化
sqrt求符号表达式的平方根
abs符号绝对值
exp符号指数
log符号对数
acos符号反余弦
asin符号反正弦
atan符号反正切
cos符号余弦
sin符号正弦
tan符号正切
acosh符号反双曲余弦
asinh符号反双曲正弦
cosh符号双曲余弦
sinh符号双曲正弦
tanh符号双曲正切


三、功能优化

  1. 工具箱优化

  • 优化工具箱

函数描述
fmincon                                                                               

1. 完善逐序列二次规划算法 sqp 和 sqp-legacy,包含两种实现                  
 2. 支持信赖域反射算法

quadprog1. 支持信赖域算法和内点法 2. 支持更多options选项
linprog支持更多options选项,并验证参数的有效性
intlinprog支持更多options选项,并验证参数的有效性
fminbnd/intlinprog/lsqnonneg/fzero支持结构体问题形式的输入
optimoptions重构为类对象形式,并支持对所有优化函数设置
resetoptions根据重构后的 optimoptions 更新实现


0 2026-08-10