一元二次方程求解(2)

前几天看过了一元二次方程的求解方法,基本掌握了。但这是一个中学的数学知识,我就算宣布自己“掌握了”,也并不是什么值得炫耀与骄傲的事情。所以我就一直想再基于这个问题扩展一下。 因为我用的计算器能够支持这种方程的求解,使用sagemath之类的数学软件也可以完成这类方程的求解。所以我就想也自己实现一个求解的计算器。当然并非直接在给定方程的前提下得出解,而是连每一步的推导过程也都给出来。 如果只是根据一元二次方程求根公式得到它的解,显然是比较容易的。但如果想连带将中间的计算过程和推导过程也都列出来,今天试了一下发现还是比较麻烦、甚至可以说是难以实现的: 1、排版问题 可以通过MathML进行网页排版,但是这个标记型语言我还不会用,所以要先学习、了解这个语言才行; 2、求解推导过程中的化简 这现在看来是比较麻烦的,因为要通过程序判断出什么样的分数可以化简、化简到什么程度就不能继续化简了; 3、符号(+/-)和小数值(0,1,-1)的展现形式 正负号在什么情况下应该显示出来、在什么情况下应该隐藏掉;同样的,对于系数是0、1和-1时,都是有简化表示的,这些简化表示要通过程序的条件判断进行最终的输出精简、令输出的数学公式看上去简单、美观,也是比较麻烦的事情; 4、对虚数的支持 这一点显然就更复杂了,如果考虑到了虚数,是否应该考虑系数本身就是运算式的形式?所以这个看似简单的小工具,其实想实现出来、正确全面的实现出来,还是十分具有挑战性的。至少,今天我第一次尝试,失败了。 这个工具其实没有实际意义,但我觉得既然自己想做一个有趣的数学、计算机、电子方面的个人小网站,那么就应该实现一些有价值的功能和工具。但在还没有过硬的理论知识之前,至少可以将自己已经掌握的知识先工具化。 所以这次的“解一元二次方程工具”,虽然现在还没有实现出来,但我仍然会再多花一些时间研究,争取尽快实现出来。