.. Kenneth Lee 版权所有 2018-2020
:Authors: Kenneth Lee :Version: 1.0
教中学生学编程2:解方程
前面我们理解了math这个名称空间,它可以用作我们平时学习数学时候的计算器(不过不 要用它做作业哦,应该笔算的东西还是笔算,计算器可以作为验算,否则你就什么都学不 会了)。但你会发现,这个东西不实用,因为它给出的是结果不是准确的值,而是一个“模 拟解”,也就是一个不精确的小数,比如我们计算:::
import math
math.sqrt(8)
我们希望得到2又根号2,而不是2.8284271247461903:
.. figure:: _static/ipython例1.jpg
特别是我们解方程的时候,这个时候math这个名称空间就不够用了,我们需要另一个名称 空间,它叫:sympy。(这是Symbols Python的简称)
我们用sympy来重新做上面这个运算:
.. figure:: _static/ipython例2.jpg
这种解,就叫解释解。上面这个过程里调用了一个init_session(),它的作用它自己的输 出已经解释了,我们做这个动作是为了让输出更好看,你不做也可以,但建议是上来就做 一次,这样我们看起来会舒服很多。而且如果你不做这个动作,x, y, z, t这些符号也不 会被定义,所以,我们先不纠结细节,反正你import sympy了,就做一下这个动作,然后 再用,这会省很多事。
有了这个工具,我们就可以用它来解方程了。比如我们要解下面这个方程:
.. math:: x^2+3x-8=0
我们可以这样:
.. figure:: _static/ipython例3.png
注意两点:
方程不写等号,把另一边移项移成0,然后用非零那边即可
要说明你的未知数是哪个
我们也可以用来解2元方程:
.. figure:: _static/ipython例4.png
除了解方程,平时你们经常干的事情都可以用这个工具解决:
多项式展开和因式分解:
.. figure:: _static/ipython例5.png
化简:
.. figure:: _static/ipython例6.png
分式化简:
.. figure:: _static/ipython例7.png
有没有发现计算机真的是很牛逼的?:)