.. 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 注意两点: 1. 方程不写等号,把另一边移项移成0,然后用非零那边即可 2. 要说明你的未知数是哪个 我们也可以用来解2元方程: .. figure:: _static/ipython例4.png 除了解方程,平时你们经常干的事情都可以用这个工具解决: 多项式展开和因式分解: .. figure:: _static/ipython例5.png 化简: .. figure:: _static/ipython例6.png 分式化简: .. figure:: _static/ipython例7.png 有没有发现计算机真的是很牛逼的?:)