Ninzero / Mathbox

由Portal Research开发的一款数学计算软件

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Mathbox

##概述 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时,程序会显示997991983977971967953947941937

###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,不一而足。

About

由Portal Research开发的一款数学计算软件


Languages

Language:Python 100.0%