• SymPy解方程的实现


    https://www.cnblogs.com/zgyc/p/6277562.html

     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库解决了初中的数学题——线性方程组,接下来介绍如何解决更难的数学题——微积分相关习题

  • 相关阅读:
    Linus大神Win 7发布当天踢馆恶搞
    使用OpenSSL生成CSR文件,并申请全球通用SSL证书
    看Google的1000万.不是美元..是1000万台服务器!
    常见病毒 木马进程速查表
    GeoServer 2.0 正式版发布
    linux LiveCD 制作笔记
    开源WEB服务器lighttpd 1.4.24发布
    Nginx 的 server_names_hash_bucket_size 问题
    商业开源厂商最爱GPL,GPL并不能保证软件自由
    MySQL update回滚 mysqlbinlog回复数据
  • 原文地址:https://www.cnblogs.com/zkwarrior/p/11089933.html
Copyright © 2020-2023  润新知