美文网首页Python、MATLAB工科联盟
有了Python sympy,公式推导再也不用手算了

有了Python sympy,公式推导再也不用手算了

作者: 仇念尧 | 来源:发表于2019-08-08 20:38 被阅读3次

    1.前言

    今天在推导公式时,发现这破方程组人力根本计算不出结果,我就想可不可以使用编程解决,我发现MATLAB的solve()函数、和Python的sympy库都可以解决这个问题,在本篇文章中,使用Python sympy库来解决这个问题。

    2. 问题

    一个圆经过点(sqrt(3)(2r+t)/4,(2r+t)/4),(r,0),
    另一个圆经过点(sqrt(3)
    (2r+t)/4,(2r+t)/4),(sqrt(3)(2r-t)/4,-(2*r-t)/4),
    分别求两圆心坐标。

    3.程序

    3.1 导入库

    # 导入sympy库
    from sympy import *
    

    3.2 定义字符

    # 定义字符
    a, b,  r, t = symbols('a b r t')
    

    3.3 确定方程

    #将所有项移至左端,右端为零
    eq1 = (sqrt(3)*(2*r+t)/4 - a)**2 + ((2*r+t)/4 - b)**2 - r**2
    eq2 = (r - a)**2 + b**2 - r**2
    eq3 = (sqrt(3)*(2*r-t)/4 - a)**2 + ((2*r-t)/4 + b)**2 - r**2
    

    3.4 求解函数

    # 求解函数,[eq1, eq2]为函数,[a, b]为未知数
    c = solve([eq1, eq2], [a, b])
    d = solve([eq1, eq3], [a, b])
    

    3.5 输出函数

    pretty为手写形式函数,更易读

    # 输出结果,pretty为手写形式函数,更易读
    print(c, '\n'*2, pretty(d))
    

    相关文章

      网友评论

        本文标题:有了Python sympy,公式推导再也不用手算了

        本文链接:https://www.haomeiwen.com/subject/klrfjctx.html