Math.js | 高度な数学計算を簡単に実装 | 複数の実例で理解するJavaScriptライブラリ解説

スポンサーリンク

スポンサーリンク

Math.jsについての解説

Math.jsは、JavaScriptで複雑な数学演算を容易に扱うための強力なライブラリです。基本的な算術計算から行列演算、統計的な関数、さらにはユニットの取り扱いまで幅広くサポートしています。ブラウザやNode.jsの環境で動作し、数式を評価する機能も提供しています。

Math.jsの実装方法

Math.jsを使うには、次のコードを内に記載してライブラリを読み込みます。


<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjs/9.5.0/math.min.js"></script>

Math.jsの特徴

Math.jsの主な特徴は以下の通りです:

  • 基本的な算術演算のサポート
  • ベクトルや行列演算
  • 統計関数や微積分のサポート
  • ユニット変換や数式の評価機能

プロパティとその値の一覧表

プロパティ/関数 説明
add 2つの数を足し算 math.add(2, 3) // 5
subtract 2つの数を引き算 math.subtract(10, 4) // 6
multiply 2つの数を掛け算 math.multiply(5, 3) // 15
divide 2つの数を割り算 math.divide(8, 2) // 4
sqrt 平方根の計算 math.sqrt(16) // 4
pow 累乗の計算 math.pow(2, 3) // 8
log 指定した底の対数を計算 math.log(100, 10) // 2
exp e(ネイピア数)を使った指数関数 math.exp(1) // 2.71828…
sin サイン関数 math.sin(math.pi / 2) // 1
cos コサイン関数 math.cos(0) // 1
tan タンジェント関数 math.tan(math.pi / 4) // 1
min 配列やリストの中で最小値を返す math.min(4, 1, 7) // 1
max 配列やリストの中で最大値を返す math.max(4, 1, 7) // 7
mean 配列やリストの平均を計算 math.mean([2, 5, 9]) // 5.333…
median 中央値を計算 math.median([1, 2, 3, 4, 5]) // 3
std 標準偏差を計算 math.std([2, 4, 6, 8, 10]) // 2.828…
random 0から1の間の乱数を返す math.random() // 例: 0.8374…
factorial 階乗の計算 math.factorial(5) // 120
mod 剰余(余り)の計算 math.mod(7, 3) // 1
gcd 最大公約数の計算 math.gcd(8, 12) // 4
lcm 最小公倍数の計算 math.lcm(4, 6) // 12
complex 複素数を生成 math.complex(3, -4)
matrix 行列を生成・操作 math.matrix([[1, 2], [3, 4]])
transpose 行列の転置 math.transpose([[1, 2], [3, 4]])
det 行列の行列式を計算 math.det([[1, 2], [3, 4]]) // -2
inv 行列の逆行列を計算 math.inv([[1, 2], [3, 4]])
unit ユニット(単位)を扱う math.unit(‘5 cm’)
evaluate 数式を評価して結果を返す math.evaluate(‘3 + 5 * 2’)

基本的な数値演算の例

実行例


HTMLとJavaScriptコード


<script>
// 2つの数値を足し算して結果を表示
var result = math.add(5, 10);
document.getElementById('example1-result').textContent = '5 + 10 = ' + result;
</script>

解説

この例では、math.add()関数を使用して、2つの数値を足し算しています。結果はHTML要素に表示されています。

行列演算の例

実行例


HTMLとJavaScriptコード


<script>
// 2x2行列の掛け算
var matrixA = math.matrix([[1, 2], [3, 4]]);
var matrixB = math.matrix([[5, 6], [7, 8]]);
var resultMatrix = math.multiply(matrixA, matrixB);
document.getElementById('example2-result').textContent = 'Resulting Matrix: ' + resultMatrix.toString();
</script>

解説

ここでは2つの2×2行列を作成し、math.multiply()を使って掛け算をしています。結果として新しい行列が得られ、その内容が表示されます。

数式の評価の例

実行例


HTMLとJavaScriptコード


<script>
// 数式を文字列として評価
var expression = '3 + 4 * 2';
var result = math.evaluate(expression);
document.getElementById('example3-result').textContent = 'Expression "' + expression + '" evaluates to: ' + result;
</script>

解説

この例では、文字列として記述された数式をmath.evaluate()を使って評価し、計算結果を表示しています。

ユニット変換の例

実行例


HTMLとJavaScriptコード


<script>
// ユニット変換の例: キロメートルをメートルに変換
var kilometers = math.unit('2 km');
var meters = kilometers.to('m');
document.getElementById('example4-result').textContent = '2 kilometers is equal to ' + meters.toString();
</script>

解説

この例では、math.unit()関数を使って、キロメートルからメートルへの変換を行っています。ユニット変換は、物理的な値を扱う際に非常に便利です。

Math.jsの公式サイト

math.js | an extensive math library for JavaScript and Node.js
Math.js is an extensive math library for JavaScript and Node.js. It features big numbers, complex numbers, matrices, units, and a flexible expression parser.