SymPy工具箱预览版 更新日志

标签: 符号计算

北太天元社区支持 2026-04-30 18:37:45

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) 部分函数的返回形式与对标软件存在差异,该差异不影响计算结果的正确性。


回复

回复

重置 提交