日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

math.js:灵活强大的JavaScript数学库

發布時間:2023/12/10 javascript 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 math.js:灵活强大的JavaScript数学库 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

最近為期權開發一些基本技術指標,用到一些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


總結

以上是生活随笔為你收集整理的math.js:灵活强大的JavaScript数学库的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。