51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

Python Sympy

Sympy 是 Python 的一个代数计算库。简单来说,可以通过该库进行一些代数计算,比如构建方程,求解方程组,求解导数等等...

下面是使用 Sympy 的简单例子:

import sympy


def test01():
    """
    构建方程
    """

    # 1. 创建方程中的符号
    k = sympy.Symbol("k")
    x = sympy.Symbol("x")
    b = sympy.Symbol("b")

    # 2. 构建方程
    y = k * x + b

    # 3. 代入求解 y
    result = y.subs({"k": 10, "x": 3, "b": 5})
    sympy.pprint(result)


def test02():
    """
    求解方程组
    """

    # 1. 创建方程中的符号
    x = sympy.Symbol("x")
    y = sympy.Symbol("y")
    z = sympy.Symbol("z")

    # 2. 构建方程
    f1 = 2*x - 7 - y
    f2 = 5*x + 3*y + 2*z - 3
    f3 = 3*x + z - 7

    # 3. 求解方程组
    result = sympy.solve([f1, f2, f3], x, y, z)
    sympy.pprint(result)


def test03():
    """
    求导
    """

    # 1. 构建方程
    x = sympy.Symbol("x")
    y = sympy.Symbol("y")
    z = sympy.Symbol("z")
    f = x**2 + 2*x + 3*y**2 + 4*z**3

    # 2. 分别对 x, y, z 求导
    fx = sympy.diff(f, x)
    fy = sympy.diff(f, y)
    fz = sympy.diff(f, z)

    sympy.pprint(fx)
    sympy.pprint(fy)
    sympy.pprint(fz)


def test04():
    """
    连加
    """

    x = sympy.Symbol("x")
    y = sympy.Symbol("y")
    z = sympy.Symbol("z")
    f = 2*x**2 + 3 + y + z

    f = sympy.summation(f, (x, 1, 100))
    print(f)


def test05():
    """
    连乘
    """
    x = sympy.Symbol("x")
    y = sympy.Symbol("y")
    z = sympy.Symbol("z")
    f = 2 * x ** 2 + 3 + y + z

    f = sympy.product(f, (x, 1, 3))
    print(f)


if __name__ == "__main__":
    test05()

赞(0)
未经允许不得转载:工具盒子 » Python Sympy