SymPy,一个Python符号计算的智能库!

文摘   2024-11-13 07:13   河南  

SymPy:Python符号计算,走起!

嘿,各位Pythoner,今儿咱来聊聊SymPy这玩意儿。这可是Python的一个库,专门用来做符号计算的。啥叫符号计算?简单来说,就是像咱们中学时候解方程那样,用符号(x, y, z之类的)而不是具体的数字来计算。想求导、积分、解方程、化简表达式?SymPy都能搞定!

符号变量,搞起来!

在SymPy里,想用符号,你得先“声明”一下。可不是像平时那样直接x = 1,而是要用symbols()函数。

    from sympy import symbols
    
    x, y = symbols('x y')  # 就像告诉SymPy,x和y是符号,不是数字
    z = x + y
    print(z)  # 输出:x + y,它代表一个表达式,而不是一个具体的数值

表达式化简,小菜一碟!

写了一堆复杂的表达式,看着头大?SymPy的simplify()函数来拯救你!

    from sympy import simplify, sin, cos
    
    expr = sin(x)**2 + cos(x)**2  # 熟悉的三角恒等式
    simplified_expr = simplify(expr)
    print(simplified_expr)  # 输出:1,漂亮!

求导积分,也不在话下!

想当年,被求导积分支配的恐惧还历历在目。现在,有了SymPy,这些都是小意思!

    from sympy import diff, integrate
    
    f = x**3 + 2*x + 1
    derivative = diff(f, x)  # 对f关于x求导
    print(derivative)  # 输出:3*x**2 + 2
    
    integral = integrate(f, x)  # 对f关于x积分
    print(integral)  # 输出:x**4/4 + x**2 + x

温馨提示: diff()integrate() 函数都需要指定对哪个变量求导或积分。别忘了!

解方程,so easy!

解方程,也是SymPy的拿手好戏。solve()函数,安排!

    from sympy import solve
    
    equation = x**2 - 2*x + 1  #  一个简单的二次方程
    solutions = solve(equation, x)
    print(solutions)  # 输出:[1],方程的解

极限,走你!

求极限,也是洒洒水啦。limit()函数,就是干这个的。

    from sympy import limit
    
    expr = (sin(x)/x)
    limit_val = limit(expr, x, 0)  # 求x趋近于0时,sin(x)/x的极限
    print(limit_val)  # 输出:1

温馨提示: limit() 函数的第三个参数是趋近的值。

矩阵运算,也行!

SymPy还能进行矩阵运算,简直是神器!

    from sympy import Matrix
    
    matrix1 = Matrix([[1, 2], [3, 4]])
    matrix2 = Matrix([[5, 6], [7, 8]])
    matrix_sum = matrix1 + matrix2
    print(matrix_sum)  # 输出:Matrix([[6, 8], [10, 12]])

打印漂亮点!

有时候,SymPy的输出看着有点乱。pprint()函数可以让输出更美观。

    from sympy import pprint
    
    expr = x**2 + 2*x*y + y**2
    pprint(expr)  # 输出更好看的格式

今儿就先到这儿吧。SymPy的功能远不止这些,还有微分方程、级数展开、线性代数等等,等以后有机会再慢慢聊。学会了SymPy,以后处理数学问题,就再也不用手动算了,爽!

翔宇风
精彩纷呈,引人入胜。
 最新文章