Mathomatic是一個自由便攜式,通用計算機代數系統(CAS) 和計算器軟件,可以符號式的解答、化簡、結合併比較代數方程,執行複數多項式的計算,等等。它也可以做符號化的微積分(導數極值泰勒級數,和多項式積分以及拉普拉斯變換)並且能操作所有的基本代數三角函數可以被輸入並使用歐拉公式處理。諸如f(x) 和log(x),測繪,多倍長整數,以及矩陣等功能尚未被引入。Mathomatic不允許超長的表示式進行計算,因為這會耗費大量時間及內存。

Mathomatic
Mathomatic運行在一個xterm窗口中
開發者George Gesslein II
當前版本16.5.0(2012年10月21日 (2012-10-21)
程式語言C
作業系統跨平台
類型計算機代數系統
許可協議GNU Lesser General Public License
網站http://mathomatic.org/

功能

編輯

軟件自身不帶圖形用戶界面(除iPhone版本)[1]。控制台模式的程序自帶一個彩色命令行界面運行在任何作業系統的終端模擬器下。命令行界面非常簡單,差不多不需要任何學習就能掌握。

軟件沒有編程功能,直譯程序如同一個代數計算器一般工作。表示式和方程以中置記法輸入。各種操作使用簡單的英語命令執行。

因為所有數字都是雙倍精確浮點數並且數字的近似值和精確值之間的差異並沒有被記錄,因此Mathomatic不適合需要高精確度的計算。它適合最高小數點後14位的小數的快速且準確的計算。

Mathomatic可以被當成浮點整數算術代碼生成工具,化簡方程並轉換到最優化的賦值語句,支持PythonCC++以及Java程式語言。

Mathomatic的原始碼可以被編譯成一個帶有非常簡單的API的符號計算的,可以被連接到C或C++程序以使用Mathomatic的符號運算數學引擎。

會話實例

編輯

用戶輸入的內容以粗體顯示。

1-> x = (a + 1) * (b + 2)
#1: x = (a + 1)*(b + 2)
1-> b ; solve for b
           x
#1: b = ------- - 2
        (a + 1)
1-> code java ; output Java language code
b = ((x/(a + 1.0)) - 2.0);
1-> variables java ; define the variables for Java
double  x;
double  a;
double  b;
1->

歷史

編輯

Mathomatic的開發由George Gesslein II開始於1986年。最初以Microsoft C,運行於MS-DOS並且是一個共享軟件,附帶一個圖表程序。後來它被移植到Linux平台的GNU C Compiler並成為自由軟件。圖表程序被終止開發。

可用平台

編輯

Mathomatic通過Cygwin可以在Microsoft Windows下運行。[2],以及Mac OS X[3], iPhone[1], Nintendo DSDSLinux[4]或獨立運行[5]. Debian Linux[6],和所有BSD UNIX發行版都服帶有安裝包形式的Mathomatic,這些移植版本都由獨立個人維護。

系統要求

編輯

從原始碼編譯需要一個C語言編譯器和C標準函式庫,如果使用GCC編譯,那麼不需要對原始碼作任何修改。

Mathomatic可以運行在任何一台帶有至少1空閒內存的計算機。從Mathomatic主頁上下載的版本的內存需求最高可達[3] 100兆字節,主要影響因素是有多少方程空間以及有多少方程被輸入。方程空間是固定的數組,在需要時分配,大小會在編譯或啟動時被設置。每一個輸入的方程佔用一個方程空間

參見

編輯
  1. ^ 1.0 1.1 Mathomatic for the iPhone. [2009-01-08]. (原始內容存檔於2020-11-09). 
  2. ^ Mathomatic on the Cygwin website. [2009-01-08]. (原始內容存檔於2012-07-25). 
  3. ^ 3.0 3.1 Found on the Mathomatic home page
  4. ^ Mathomatic - DSLinux Wiki. [2009-01-08]. (原始內容存檔於2007-10-27). 
  5. ^ Mathomatic ported to the Nintendo DS. [2009-01-08]. (原始內容存檔於2007-10-28). 
  6. ^ Debian - Package Search Results - mathomatic

參考

編輯

外部連結

編輯