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

SymPy解方程的实现的更多相关文章

  1. Sympy解方程-求极限-微分-积分-矩阵运算

    简介 Sympy是一个Python的科学计算库,用一套强大的符号计算体系完成诸如多项式求值.求极限.解方程.求积分.微分方程.级数展开.矩阵运算等等计算问题.虽然Matlab的类似科学计算能力也很强大 ...

  2. 5.5Python数据处理篇之Sympy系列(五)---解方程

    目录 目录 前言 (一)求解多元一次方程-solve() 1.说明: 2.源代码: 3.输出: (二)解线性方程组-linsolve() 1.说明: 2.源代码: 3.输出: (三)解非线性方程组-n ...

  3. python 解方程

    [怪毛匠子=整理] SymPy 库 安装 sudo pip install sympy x = Symbol('x') 解方程 solve([2 * x - y - 3, 3 * x + y - 7] ...

  4. 用Python解方程

    一元一次方程 例题1: 这是北师大版小学六年级上册课本95页的一道解方程练习题: 大家可以先口算一下,这道题里面的x的值为200 接下来我们用python来实现,代码如下,每一句代码后面都写有解释语: ...

  5. vijos P1915 解方程 加强版

    背景 B酱为NOIP 2014出了一道有趣的题目, 可是在NOIP现场, B酱发现数据规模给错了, 他很伤心, 哭得很可怜..... 为了安慰可怜的B酱, vijos刻意挂出来了真实的题目! 描述 已 ...

  6. HDU 4793 Collision --解方程

    题意: 给一个圆盘,圆心为(0,0),半径为Rm, 然后给一个圆形区域,圆心同此圆盘,半径为R(R>Rm),一枚硬币(圆形),圆心为(x,y),半径为r,一定在圆形区域外面,速度向量为(vx,v ...

  7. codevs3732==洛谷 解方程P2312 解方程

    P2312 解方程 195通过 1.6K提交 题目提供者该用户不存在 标签数论(数学相关)高精2014NOIp提高组 难度提高+/省选- 提交该题 讨论 题解 记录   题目描述 已知多项式方程: a ...

  8. [NOIP2014]解方程

    3732 解方程  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 钻石 Diamond 题解       题目描述 Description 输入描述 Input Descrip ...

  9. bzoj 3751: [NOIP2014]解方程 同余系枚举

    3.解方程(equation.cpp/c/pas)[问题描述]已知多项式方程:a ! + a ! x + a ! x ! + ⋯ + a ! x ! = 0求这个方程在[1, m]内的整数解(n 和 ...

随机推荐

  1. Centos7搭建Harbor私有仓库(一)

    1 说明 前文Centos7搭建DockerRegistry介绍了DockerRegistry的搭建,但它没有UI页面,因此选择Harbor 以下基于镜像CentOS-7-x86_64-Minimal ...

  2. windows10 进入BIOS

    windows10开机进入不了BIOS 原因 上网查了电脑固件所应该有的进入键,什么F1.F2.F12.Delete以及什么要配置Fn+F1...等等方法就是开机进入不了BIOS. 解决办法 最后发现 ...

  3. Redis开发与运维学习笔记

    <Redis开发与运维>读书笔记   一.初始Redis 1.Redis特性与优点 速度快.redis所有数据都存放于内存:是用C语言实现,更加贴近硬件:使用了单线程架构,避免了多线程竞争 ...

  4. OpenStack核心组件-keystone

    1. Keystone介绍 keystone是OpenStack的组件之一,用于为OpenStack家族中的其它组件成员提供统一的认证服务,包括身份验证.令牌的发放和校验.服务列表.用户权限的定义等等 ...

  5. python2+robotframework环境搭建

    目前robotframework-ride只支持python3,没办法,只能用python2.好吧 python安装不多说,太简单,下载后直接安装,然后配置两个文件路径:path:E:\mytest\ ...

  6. python测试开发django-rest-framework-65.序列化(ModelSerializer)

    前言 serializers.Serializer可以对modle模型中的字段序列化,并且必须写create和update两个方法.ModelSerializer可以看成是Serializer的一个升 ...

  7. ARTS-week7

    Algorithm 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标. Two Sum 编写一个 SQL 查询,满足条件:无论 ...

  8. axios基本设置

  9. node爬虫爬取中文时乱码问题 | nodejs gb2312、GBK中文乱码解决方法

    iconv需要依赖native库,这样一来,在一些不支持native模块安装的虚拟主机和windows平台上,我们还是无法安心处理GBK编码. 老外写了一个通过纯Javascript转换编码的模块 i ...

  10. GlusterFS Dispersed Volume(纠错卷)总结

    https://blog.csdn.net/daydayup_gzm/article/details/52748812 一.概念 Dispersed Volume是基于ErasureCodes(纠错码 ...