• SymPy解方程的实现


     SymPy完全是用Python写的,并不需要外部的库

    原理:

    单纯用语言内置的运算与变量解决的是,由值求结果。如:

    print(x+y)  #会报错

    上式中的x与y在这条语句执行前你肯定得赋值的,否则就会出错。

    而符号计算不同,你可以在之前将其设为符号。

    x = Symbol('x')
    y = Symbol('y')
    print(x+y)

    上述代码是可以的。因为Sympy库将x与y转换成了符号(概念上)。 经过介绍,你应该稍微懂了一点,经过下面的介绍,你会更加明白

    第一步:SymPy库的安装

    linux 环境安装命令:sudo pip install sympy

    windows环境安装命令: pip install sympy

    第二步:解二元一次方程功能实现

    解方程的功能主要由sympy中的solve函数实现

     示例题目:  3x+5y = 19

                      4x-3y = 6

    方程中的符号表示:

    from sympy import *
    
    x = symbol('x')
    y = symblo('y')
    
    ------------------------------#
    from sympy import *
    
    x,y = symbols('x y')

    代码表示与手写还是有区别的,下面列出常用的:

    • 加号 +
    • 减号 -
    • 除号 /
    • 乘号 *
    • 指数 **
    • 对数 log()
    • e的指数次幂 exp()

    对于长的表达式,如果不确定,就加小括号

    例题中的表达式可表示为:3*x + 5*Y - 19 = 0

                                      4*x - 3*y - 6 = 0

    由于需要将表达式都转化成右端等于0,这里把常数19和6移到等式左边

    利用solve函数解方程

    在解决例子之前,我们先解决一个一元一次的方程。

    x * 9 - 6 = 0

    虽然很容易口算出来,我们还是要用solve函数

    print(solve(x * 9 - 6,x))

    下面进行例题求解:

    完整代码为

    from sympy import *
    
    x = symbol('x')
    
    y = symbol('y')
    
    print(solve([3 * y + 5 * y - 19, 4 * x - 3 * y - 6],[x,y]))

    结果为 {x:3,y:2}

    总结:上文简单介绍了SymPy库,和用SymPy库解决了初中的数学题——线性方程组,接下来介绍如何解决更难的数学题——微积分相关习题

  • 相关阅读:
    第七十天 how can I 坚持
    第六十九天 how can I 坚持
    第六十八天 how can I 坚持
    第六十七天 how can I 坚持 (补昨天)
    第六十六天 how can I 坚持··
    第六十五天 how can I 坚持
    第六十四天 how can i 坚持
    第六十三天 how can I 坚持
    MyEclipse10 中的两种FreeMarker插件的安装与配置
    画板社交工具开发分享——HTML5 canvas控件、PHP、社交分享学习(四)
  • 原文地址:https://www.cnblogs.com/zgyc/p/6277562.html
Copyright © 2020-2023  润新知