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.