Pennant的日常
分享工作上的点点滴滴
posts - 75,comments - 21,views - 66407

最近工作的原因,需要进行一些积分运算,通过一些搜索得知了SymPy,记录一下使用历程。

1. SymPy介绍

    SymPy是关于Symbolic Mathematics的Python库,它旨在成为一个功能全面的计算机代数系统(CAS),同时保持代码尽可能简单,以便易于理解和扩展。SymPy是完全使用Python所编写。

    SymPy官方页面

 

2. 积分计算

Integral(*args: Any, meijerg: Any = None, conds: str = 'piecewise', risch: Any = None, heurisch: Any = None, manual: Any = None, **kwargs: Any)

目标函数

不定积分

x = symbols('x')

f = integrate(3 * x + 1, (x))
print(f)

 

定积分

 如果积分的上下界已知,则求定积分值,假设a = 0,b = 1:

x = symbols('x')

f = integrate(3 * x + 1, (x, 0, 1)) 
print(f)

 

如果积分的下界已知,求上界,假设a = 0, 求b:

x = symbols('x')
b = symbols('b')

f = integrate(3 * x + 1, (x, 0, b))
ret = solve(f, b)
print(ret)

以些类推,可以只求下限,或同时求上下限。

 

目标函数

 

多重积分

x = symbols('x')
y = symbols('y')

f1 = exp(- x ** 2 - y ** 2)
f = integral(f1, (x, 0, oo), (y, 0, oo))
print(f)

 

3. 微分计算

diff(f: Any, *symbols: Any, **kwargs: Any)

目标函数

 

一阶或高阶微分

x = symbols('x')
n = 1

f = diff(cos(x), x, n)
print(f)

 

目标函数

 

偏微分

x, y, z = symbols('x y z')

f = diff(exp(x * y * z), x, 1, y, 2, z, 4)
print(f)

 

4. 极限

limit(e: Any, z: Any, z0: Any, dir: Any = "+")

目标函数

x = symbols('x')

f = limit(sin(x) / x, x, 0, '+')
print(f)

 

后续添加....

posted on   汝熹  阅读(291)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· .NET10 - 预览版1新功能体验(一)
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示