用Python解方程
一元一次方程
例题1: 这是北师大版小学六年级上册课本95页的一道解方程练习题:
大家可以先口算一下,这道题里面的x的值为200
接下来我们用python来实现,代码如下,每一句代码后面都写有解释语:
# 一元一次方程
x = sy.symbols("x") # 申明未知数"x"
a = sy.solve((x+(1/5)*x-240),[x]) # 写入需要解的方程体
print(a)
大家应该注意到了,在写入方程体的时候,(上面的第三行代码)我们并没有原封不动的将原方程写进去,而是换了一种写法,将等号右边的数移到了等号左边(当然,移动的过程中注意要变号哦!)然后将等号丢弃,最后变成了一个式子。这个是我们的一个固定写法,大家记住就可以了。
注意:注意!!在数学里面数字和未知数相乘时中间可以不加任何符号,比如2x就代表2乘以x,但在计算机里,乘法必须写成*乘的形式。比如2*x,而不能直接写出2x,此处一定要注意!
这是运行后的结果:

大家可以看到,结果被一对大括号包裹着,冒号前是要求的未知数,冒号后即是程序运行后得出的结果。
我们的计算机还是很聪明的,是吧!
例题2: 接下来,我们再来尝试一下分式方程:
以下为2018成都市的中考数学真题A卷第8题:

用同样的程序逻辑,填好我们要求的方程,代码如下:
x = sy.symbols("x")
a = sy.solve([(x+1)/x+1/(x-2)-1],[x])
print(a)
#{x: 1}
运行结果:
二元一次方程
例题3: 接下来我们来试一下两个未知数的
这是北师大版初中八年级上册课本132页的一道练习题:

用python来实现,
# 二元一次方程
x,y = sy.symbols("x y")
a = sy.solve([3*x-2*y-3,x+2*y-5],[x,y])
print(a)
# {x: 2, y: 3/2}
运行结果:

所以正确答案为:C答案
以下为2018成都市的中考数学真题B卷第21题:

用Python实现:
x,y = sy.symbols("x y")
a = sy.solve([x + y - 0.2,x + 3*y -1],[x,y])
x = a[x]
y = a[y]
re = x**2+4*x*y +4*y**2
print(re)
注意:
- 不要省略乘号“*”
- “**”代表乘方
运行结果截图:

多元线性方程组求解
求解线性方程组比较简单,只需要用到一个函数(scipy.linalg.solve)就可以了。

import numpy as np
from scipy.linalg import solve
#输出系数矩阵
a=np.array([[3,1,-2],[1,-1,4],[2,0,3]])
#值
b=np.array([5,-2,2.5])
#计算
x=solve(a,b)
#打印结果
print(x)
[0.5 4.5 0.5]
sympy 数学方程求解
SymPy是比较强大的,可以做到符号的化简,求值等。SymPy是符号数学的Python库。它的目标是成为一个全功能的计算机代数系统,同时保持代码简洁、易于理解和扩展。 SymPy完全是用Python写的,并不需要外部的库。
可以做到先设置变量,然后打印不需要设置值的功能,例如:在我们日常书写中print(x+y)是会报错的,然而使用了如下就不会报错了:
from sympy import *
x,y= symbols('x,y')
print(x + y+x+y)
2*x + 2*y
公式与代码之间转换:
- 加号 +
- 减号 -
- 除号 /
- 乘号 *
- 指数 **
- 对数 log()
- e的指数次幂 exp()
用Python解方程的更多相关文章
- python 解方程
[怪毛匠子=整理] SymPy 库 安装 sudo pip install sympy x = Symbol('x') 解方程 solve([2 * x - y - 3, 3 * x + y - 7] ...
- python 解方程 和 python 距离公式实现
解方程参考:https://zhuanlan.zhihu.com/p/24893371 缺点太慢,最后还是自己算了 距离公式参考:https://www.cnblogs.com/denny402/p/ ...
- SymPy解方程的实现
https://www.cnblogs.com/zgyc/p/6277562.html SymPy完全是用Python写的,并不需要外部的库 原理: 单纯用语言内置的运算与变量解决的是,由值求结果.如 ...
- Sympy解方程-求极限-微分-积分-矩阵运算
简介 Sympy是一个Python的科学计算库,用一套强大的符号计算体系完成诸如多项式求值.求极限.解方程.求积分.微分方程.级数展开.矩阵运算等等计算问题.虽然Matlab的类似科学计算能力也很强大 ...
- python 解压 压缩包
转 http://m.blog.csdn.net/blog/wice110956/26597179# 这里讨论使用Python解压如下五种压缩文件: .gz .tar .tgz .zip .rar ...
- vijos P1915 解方程 加强版
背景 B酱为NOIP 2014出了一道有趣的题目, 可是在NOIP现场, B酱发现数据规模给错了, 他很伤心, 哭得很可怜..... 为了安慰可怜的B酱, vijos刻意挂出来了真实的题目! 描述 已 ...
- HDU 4793 Collision --解方程
题意: 给一个圆盘,圆心为(0,0),半径为Rm, 然后给一个圆形区域,圆心同此圆盘,半径为R(R>Rm),一枚硬币(圆形),圆心为(x,y),半径为r,一定在圆形区域外面,速度向量为(vx,v ...
- python解无忧公主的数学时间编程题001.py
python解无忧公主的数学时间编程题001.py """ python解无忧公主的数学时间编程题001.py http://mp.weixin.qq.com/s?__b ...
- python解无忧公主的数学时间097.py
python解无忧公主的数学时间097.py """ python解无忧公主的数学时间097.py codegay 2016年3月30日 00:17:26 http:// ...
随机推荐
- drone 更新仓库为truested
drone 更新仓库为truested drone repo update -trusted=true my_org/repository DRONE_USER_CREATE=username:oct ...
- 解读Position
首先Position在字面讲是位置的意思,在HTML中是定位的意思,它有四种属性:分别是static是静态的,也是默认的效果,没有特别的设定,遵循基本的定位规定,不能通过z-index进行层次分级. ...
- django 发送邮件功能
setting.py # 邮件配置 EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend' EMAIL_HOST = 'smtp.e ...
- CSS基础学习 18.CSS多列
四种常见的浏览器内核:
- 最简单之安装azkaban
一,拉取源码构建 git clone https://github.com/azkaban/azkaban.git cd azkaban; ./gradlew build installDist 二, ...
- python_函数参数
1.参数的基本知识 任意个数 任意类型 def func(a1,a2,a3): print(a1,a2,a3) # 参数可以是任意个数和任意类型 func(1,'waf',True) 2.位置传参数( ...
- hdfs基本使用
基本命令 /usr/local/hadoop/bin/hadoop fs -ls / /usr/local/hadoop/bin/hadoop fs -mkdir /test # 创建目录 /usr/ ...
- BIOS之于系统启动
#BIOS之于操作系统 操作系统从开机通电到系统启动成功(执行main函数)分为3个步骤 启动BIOS,准备实模式下中断向量表和中断服务程序 从启动盘加载操作系统程序(包括boot镜像和root文件系 ...
- 顺序表元素位置倒置示例c++实现
#include <iostream> #define MAXSIZE 100 using namespace std; void reverse(int a[],int n)//对数组元 ...
- Splay - restudy
https://www.zybuluo.com/wsndy-xx/note/1136246 图1 图2
