##概述
Mathbox是一款由Portal Research构想并开发的数学辅助计算软件,目前主要设计目为进行一元方程的求解。
目前程序由python开发,请使用python3打开。(详见后文打开方式章节)
##基本思路
由于多数方程的解都可以被表述为(a*√b+c*√d)/e
(e!=0)的形式(不考虑三角方程及其他特殊方程),故可以使用迭代法获得方程的解。
##目前进展
我们已经完成了可行性试验,我们担心由于多重迭代导致循环次数过多而使得求解变得困难无比。我们尝试向(a*√b)/c
中带入边际数值来获得近似的最长计算时间后发现进行一次10^9级的循环所需时间大约为300-400秒。
##文件列表
###simple.py
- 当你使用计算器求解方程时,我们经常会遇到类似于
1.587450787
的解,而事实上这个数字等于3√7/5
这个应用就是为了解决这个问题而来,输入小数,他会帮你找到对应的分数。 - 目前只支持
(a*√b)/c
形式的解。 - 为了使计算结果准确,我们建议你将计算器显示的小数完全输入计算机。
- 我们正在使用该程序获得近似的最长计算时间。
###find prime number.py
- 输入一个整数,这个程序会把从这个数字起的倒数十个素数显示出来。
- 举例来说,当你输入
1000
时,程序会显示997
、991
、983
、977
、971
、967
、953
、947
、941
、937
。
###Mathbox.py
- 令人兴奋的是,我们的程序主体终于上线了!撒花!
- 它已经可以用于解方程了。
- 我们承认它目前还十分不完善,但我们有许多对它的改进设想,我们将抓紧完善它。
- 期待下一个版本的Mathbox吧
##接下来的目标
###将用户输入化为公式
- 举例来说,当用户在命程序中输入
x+√2=5
时,我们需要将该式拆分为 左边:x+√2 右边:5随后,我们需要将√变为sqrt并在正确的位置打上括号。 - 事实上完成上述步骤后,最难的是将这部分内容变为代码的一部分而不是字符串。
- 我们承认暂时没有找到这个问题的解决办法。
###对结果化简
- 根据目前的实验,我们不可避免的会获得一些诸如
(3*√16)/1
的结果。显然,该结果需要化简。 - 我们可以通过判断某变量是否等于1来省去部分内容。
- 然而对于
√27
,18/21
之类的结果,我们正在探索化简方式,但我们相信可以很快得出方案。
###使simple.py支持(a*√b+c*√d)/e
的形式
- 我们认为这很快可以完成。
##在可预见的未来内可能实现的功能 ###解多元方程组
- 我们所使用的迭代法是理论上的通法,但由于未知数的增多会导致循环次数指数级的增长,多元方程组求解可能会变得不甚现实。
###支持更多方程类型
- 我们希望Mathbox在未来可以求解对数方程(其解通常为大型整数),三角方程(其解通常包括π)及其他类型的方程。
###可以添加模块
- 我们希望可以让用户(开发者)自定义模块,这意味着我们需要一个格式标准和一个主界面。
##打开方式
请注意这部分python程序打开方式是针对使用Windows的用户编写的,使用*nix系统的用户请自己google一下,谢谢。
不幸的是,python的程序运行时不进行编译,这意味着它不会像C一样生成一个.exe
文件,这同时意味着我们需要安装python才能使用它,不过相信我,这很容易。
###下载python
你可以直接点击这里下载64位版,或这里下载32位版,也可以前往python官网下载最新版本,如果你选择前往官网下载的话,请务必下载3.5.0及以上版本。
###安装python
下载完后,运行下载的安装包。
请务必勾选Add Python 3.5 to PATH
,随后,点击install now
即可。
###运行程序
Python程序以.py作为后缀,若要运行,请按下win
+R
键,输入cmd
即可打开控制台(命令行)。随后,直接键入python
,打一个空格,再将你想要运行的.py文件拖入命令行窗口,按下enter
即可。
###阅读源码
事实上,python的程序源码就是.py文件。由于是明码储存,你可以直接在Github上阅读源码,也可以使用你能想到的几乎任何文字软件阅读,记事本
、notepad++
,甚至包括word
,不一而足。