北太天元符号计算工具箱预览版(v2.0 Preview) 发布

2026-05-07

近期,我们收到大量用户的反馈与建议,符号计算工具箱成为大家提及最多的模块。用户普遍希望:支持更多函数、调用方式更自然、与数值计算衔接更顺畅。

基于这些核心诉求,我们对符号计算工具箱进行架构层面全面重做,并新增一批高频实用函数。为让大家尽早体验新版能力,现以预览版(v2.0 Preview)形式提前发布!


PART.01
发布信息速览

  • 版本:符号计算工具箱v2.0Preview

  • 适配:北太天元2025版

  • 支持平台:Windows10/11・Ubuntu x86/arm・macOS x86/arm

0b2ed780b05655ba0d38bd6647e8a604.jpg

技术架构图


PART.02
调用方式大幅简化

新版符号计算工具箱基于北太天元classdef能力,通过方法重载机制,实现符号与数值共用同一函数名。

插入代码

syms x; y = diff(sin(x)); disp(y)   % 符号微分,自动调用符号版本
z = diff([1 4 9]);   % 数值差分,调用原数值版本

调用接口与数值计算完全对齐,学习与迁移成本更低,使用更直观。


PART.03
40+符号计算函数全覆盖

本次预览版提供40+专业符号计算函数,覆盖科研、教学、工程常用场景,分类如下:

🔹符号对象构建

sym・syms・eq

支持创建单个/多个符号变量、符号等式。

🔹微积分

diff・int・limit・integrateByParts・vpaintegral

覆盖符号微分、定/不定积分、极限、分部积分,以及高精度数值积分。

🔹级数与求和

series・taylor・symprod・vpasum・cumsum・cumprod

支持泰勒/皮瑟级数展开、级数乘积、变精度求和,及符号数组累积运算。

🔹方程求解

solve・vpasolve

支持单方程与方程组的符号求解与数值求解。

🔹积分变换

laplace・ilaplace・fourier・ifourier

拉普拉斯变换/逆变换、傅里叶变换/逆变换一应俱全。

🔹化简与代换

simplify・subs・vpa・double

代数化简、符号代换、可变精度算术、符号转浮点数。

🔹初等函数

sqrt・abs・exp・log・sin・cos・tan・asin・acos・atan

sinh・cosh・tanh・asinh・acosh・atanh

基本覆盖常用初等函数符号版本。


*完整函数清单(含语法、示例与备注)请见社区链接。

PART.04
全平台同步支持,安装超简单

本次预览版同步发布多平台库文件,一键适配你的系统。

操作系统架构
Windows 10/11x86_64
Ubuntux86_64/arm64
macOSx86_64/arm64

安装步骤:下载对应平台库→解压→替换到北太天元2025安装目录对应位置,无需重新安装主程序,替换即生效。


PART.05
关于预览版说明

作为预览版本,部分函数在使用中可能存在bug或与预期不一致的结果(已知差异已在社区更新日志中标明)。

我们真诚期待你的使用反馈:无论是异常输出、功能建议,还是文档不清楚的地方,都欢迎告诉我们!


PART.06
函数使用示例

1.演示 diff() 函数对符号表达式进行求导和高阶偏导计算

syms x t
% 定义二元函数:f(x,t) = sin(x·t²)
f = sin(x*t^2);
Df1 = diff(f);
% diff(表达式) 默认对表达式中的"主变量"求导
fprintf('sin(x·t²) 对 x 求导的结果为:\n')
disp(Df1)        % 输出:t^2*cos(t^2*x)

% diff(表达式, 变量) 显式指定对 t 求偏导
Df2 = diff(f, t);
fprintf('sin(x·t²) 对 t 求导的结果为:\n')
disp(Df2)        % 输出:2*t*x*cos(t^2*x)

% diff(表达式, 变量, n) 计算 n 阶导数
Df3 = diff(f, x, 3); % 求三阶导数
fprintf('sin(x·t²) 对 x 求三阶导数的结果为:\n')
disp(Df3)

显示结果如下:

15890da4-d4d2-4733-b1f5-bd67e92db4c2.png


2.演示 limit() 函数对函数进行符号极限计算

syms x
% 定义函数:f(x) = 1/x
%   在 x=0 处无定义,左右极限不相等
f = 1/x;

% limit(f, x, 0, "right") 计算右极限(x 从正方向趋近于 0)
%   当 x→0⁺ 时,1/x → +∞
fprintf('函数 f(x) = 1/x 在 0 点处的右极限为:\n')
disp(limit(f, x, 0, "right"))   % 输出:Inf

% limit(f, x, 0, "left") 计算左极限(x 从负方向趋近于 0)
%   当 x→0⁻ 时,1/x → -∞
fprintf('函数 f(x) = 1/x 在 0 点处的左极限为:\n')
disp(limit(f, x, 0, "left"))    % 输出:-Inf

% limit(f, x, 0) 计算双侧极限
%   由于左右极限不相等(+∞ ≠ -∞),双侧极限不存在
%   返回 NaN(Not a Number)表示极限不存在
fprintf('函数 f(x) = 1/x 在 0 点处的双侧极限为:\n')
disp(limit(f, x, 0))            % 输出:NaN

求解结果如下:

9938c3a5-37ca-4a7b-807a-ae81b14a8ffe.png

其中oo表示正无穷,-oo表示负无穷,zoo表示NaN.


3.演示 solve() 函数对方程组的解析求解

eqn = x^5 == 3125;
S = solve(eqn,x);
% 遍历输出所有解
% length(S) 返回解的个数(这里是 5)
fprintf('求解方程 x^5 = 3125 的结果如下:\n')
for i = 1:length(S)
   fprintf('解得第 %d 个根为:',i)
    disp(S{i});    % 依次显示每个根
end

结果显示如下:

a7036166-d2bf-4d44-8984-69ef5eb9ce28.png


PART.07
SymPy工具箱预览版更新指南

  • Windows操作指南

  • Ubuntu操作指南

  • mac操作指南

*点击链接即可观看:https://mp.weixin.qq.com/s/dnyNA2n44b8_fBT2BLugSw?scene=1&click_id=27


PART.08

立即获取&反馈通道

完整函数列表、使用示例、函数说明文档与下载链接,均已整理在社区原帖:

测试反馈请直接在社区原帖下方留言,我们会逐条认真跟进。

感谢每一位参与测试的用户,你的每一条反馈,都在帮助我们把工具做得更好!