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. elasticsearchTemplate操作es

    ElasticsearchTemplate是spring对java api的封装 maven依赖: <dependency> <groupId>org.springframew ...

  2. springdata jpa 关于分页@Query问题

    关于springdata jpa 分页问题相信很多小伙伴都遇到过,只要表中数量到达分页条件就会报错 废话少说直接上代码: @Query(nativeQuery = true, value = &quo ...

  3. tar.bz2解压异常

    问题描述: [root@mvp-dd ~]# tar jxf ffmpeg-.tar.bz2 tar (child): bzip2: Cannot exec: No such file or dire ...

  4. java中的偏序关系

    从半个多月前接到阿里的面试电话,被多线程问题难住,到今天终于读完了<Java Concurrency In Practice>.想总结一下,又发现自己没有能力将一本书的内容都概括下来.还是 ...

  5. c++控制输出的字体颜色

    SetConsoleTextAttribute(参数表).SetConsoleTextAttribute()函数是一个API设置字体颜色和背景色的函数.参数表中使用两个属性(属性之间用,隔开).Get ...

  6. 阿里云——扩展Linux系统盘

    前言 地址|https://help.aliyun.com/document_detail/111738.html?spm=a2c4g.11186623.2.7.1d284c07SFRBaq#sect ...

  7. Spark RDD :Spark API--Spark RDD

    一.RDD的概述 1.1 什么是RDD? RDD(Resilient Distributed Dataset)叫做弹性分布式数据集,是Spark中最基本的数据抽象,它代表一个不可变.可分区.里面的元素 ...

  8. iptables的使用

    四表五链 四表(table):raw.mangle.nat.filter 五链(chain):PREROUTING.INPUT.FORWARD.OUTPUT.POSTROUTING 每个表存在几个或全 ...

  9. 08-Flutter移动电商实战-dio基础_伪造请求头获取数据

    在很多时候,后端为了安全都会有一些请求头的限制,只有请求头对了,才能正确返回数据.这虽然限制了一些人恶意请求数据,但是对于我们聪明的程序员来说,就是形同虚设.这篇文章就以极客时间 为例,讲一下通过伪造 ...

  10. h5自带的日期类型input

    在很多页面和web应用中都有输入日期和时间的地方,最典型的是订飞机票,火车票,酒店,批萨等网站. 在HTML5之前,对于这样的页面需求,最常见的方案是用Javascript日期选择组件.这几乎是无可争 ...