math.js:靈活強大的JavaScript數學庫__大資料

來源:互聯網
上載者:User

最近為期權開發一些基本技術指標,用到一些C++的數學庫,剛好看到JavaScript的math.js庫,這裡對math.js做一下簡單介紹。

一、什麼是math.js

math.js是一個廣泛應用於JavaScript 和 Node.js的數學庫,它的特點是靈活運算式解析器,支援符號計算,內建大量函數與常量,並提供整合解決方案來處理不同的資料類型,如數字,大數字,複數,分數,單位和矩陣。
math.js可以在瀏覽器、node.js 和任何JavaScript引擎中使用。[下載地址:http://mathjs.org/download.html]

二、Features

      1、支援數字,大數,複數,分數,單位,字串,數組和矩陣。

      2、與JavaScript的內建數學庫相容。

      3、包含一個靈活的運算式解析器

      4、符號計算。

      5、內建大量的函數和常量。

      6、沒有依賴,運行在任何JavaScript引擎。

      7、可以用作命令列應用程式。

      8、容易擴充

      9、開源


三、用法

math.js支援各種軟體包管理器(ex:npm & bower)安裝,也可以從網站http://mathjs.org/download.html下載庫。
通過npm安裝:

pm install mathjs

通過bower安裝:

bower install mathjs

math.js 可以從cdnjs 下載或者連結:

https://cdnjs.cloudflare.com/ajax/libs/mathjs/3.16.0/math.min.js

math.js可以類似於JavaScript的內建Math庫。 此外,math.js可以使用eval運算式並支援連結操作。一下是math.js三種使用方式:

1、用靜態函數和常數(就像JavaScript的Math對象)

math.round(math.e, 3);            // 2.718math.add(2, 3);  // 5 math.sqrt(-4);  // 2i math.pow([[-1, 2], [3, 1]],2);     // [[7, 0], [0, 7]]math.derivative('x^2 + x', 'x');  // 2 * x + 1math.atan2(3, -3) / math.pi;      // 0.75

2、對字串運算式進行求值運算

math.eval('12 / (2.3 + 0.7)');    // 4math.eval('12.7 cm to inch');     // 5 inchmath.eval('sin(45 deg) ^ 2');     // 0.5math.eval('9 / 3 + 2i');          // 3 + 2imath.eval('det([-1, 2; 3, 1])');  // -7

3、鏈式操作

math.chain(3)    .add(4)    .multiply(2)    .done(); // 14

4、矩陣操作

var n = math.matrix([[4,3,2], [6,6,8], [7,4,5]]);   console.log(n.valueof()); // [[4,3,2],[6,6,8],[7,4,5]]

可以使用如下代碼來建立一個用0填充的矩陣:

var z = math.zeros(2,2);  console.log(z.valueof());   // [[0, 0], [0, 0]]

註:大多數math.js函數,都需要valueof()或者done()函數來真正地擷取操作的值,如上面代碼所示。

5、BigNumbers

var b = math.complex('4-2i');b.re = 5;console.log(b.valueof()); // 5-2i

math.js對BigNumbers的支援,擁有任意精度的數值,並且是具有實部和虛部的複數。

math.js文檔地址:http://mathjs.org/docs/index.html


相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.