SymPy工具箱 预览版 20260429
本次 SymPy 工具箱预览版基于北太天元 2025 SymPy 插件完成架构重构,兼容 M 语言函数及语法,实现用户现有脚本无缝迁移;同时扩充符号计算能力,新增级数运算、积分变换、方程求解、高精度数值计算等高频函数,覆盖符号变量创建、极限微分计算、积分求解、符号化简及符号初等运算等核心应用场景,进一步完善北太天元符号计算功能。
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) | 不支持符号向量和矩阵 |
1) 使用过程中可能出现syms函数不存在的情况,重启软件即可解决。
2) 运行示例脚本时,可能会出现该脚本或其他脚本不存在的提示,重启软件即可解决;建议优先使用运行节功能,避免运行整个脚本。
3) 部分新增函数的帮助信息无法通过help函数获取,其具体使用方法可参照函数帮助文档。
4) 目前需通过disp函数打印符号变量及符号表达式的内容。
5) 部分函数的返回形式与对标软件存在差异,该差异不影响计算结果的正确性。
