用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:// ...
随机推荐
- 关于C++ Builder Codegurad 问题的排查。
关于C++ BUILDER6 我目前不知道有什么特别好的内存排查工具.尤其为了对付memory leak, (Eurekalog 这个工具内存泄漏主要针对delphi,BCB配置比较繁琐). 除了BC ...
- redis四种部署方式
1.单点 2.主从 3.哨兵 4.集群
- python——flask常见接口开发(简单案例)
python——flask常见接口开发(简单案例)原创 大蛇王 发布于2019-01-24 11:34:06 阅读数 5208 收藏展开 版本:python3.5+ 模块:flask 目标:开发一个只 ...
- 用idea操作svn
使用SVN前提必须安装好服务端和客户端,或者知道服务端的url才能对服务器中的文件进行操作. 服务端:SVN service 客户端:TortoiseSVN 提交 第一步:确认SVN 服务器是否开启 ...
- BZOJ5093 图的价值——推式子+第二类斯特林数
原题链接 题解 题目等价于求这个式子 \[ans=n2^{\frac{(n-1)(n-2)}{2}}\sum\limits_{i=0}^{n-1}\binom{n-1}{i}i^k\] 有这么一个式子 ...
- 【Wince-截图】对Wince进行截图
对Wince进行截图 方法一 使用Wince桌面助手对Wince进行截图 PC通过USB成功连接到手持机 打开Wince桌面助手CERHOST.exe程序 File->Capture进行截图 C ...
- hdu 2510
Tiling_easy version Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) ...
- eclipse中不能找到dubbo.xsd
使用dubbo时遇到问题: org.xml.sax.SAXParseException: schema_reference.4: Failed to read schema document 'htt ...
- quartz.net 执行后台任务
... https://www.cnblogs.com/zhangweizhong/category/771057.html https://www.cnblogs.com/lanxiaoke/cat ...
- Django Admin中增加导出CSV功能
参考: https://books.agiliq.com/projects/django-admin-cookbook/en/latest/export.html 在使用Django Admin时, ...