Introduction to Mathjs
Mathjs is a powerful and flexible math library for JavaScript and Node.js. It provides a comprehensive set of tools for working with numbers, big numbers, complex numbers, fractions, units, matrices, and more. It also offers a flexible expression parser, supporting various mathematical functions and constants.
Basic Usage
const { add, subtract, multiply, divide } = require('mathjs');
console.log(add(2, 3)); // 5
console.log(subtract(7, 2)); // 5
console.log(multiply(3, 4)); // 12
console.log(divide(10, 2)); // 5
Working with Complex Numbers
const { complex, add, multiply } = require('mathjs');
const a = complex(2, 3);
const b = complex(4, 1);
console.log(add(a, b)); // Complex { re: 6, im: 4 }
console.log(multiply(a, b)); // Complex { re: 5, im: 14 }
Using Matrices
const { matrix, multiply } = require('mathjs');
const a = matrix([
[1, 2],
[3, 4]
]);
const b = matrix([
[5, 6],
[7, 8]
]);
console.log(multiply(a, b));
// Matrix {
// _data: [
// [ 19, 22 ],
// [ 43, 50 ]
// ],
// _size: [ 2, 2 ],
// _datatype: undefined
// }
Calculating with Units
const { unit, add } = require('mathjs');
const a = unit('45 cm');
const b = unit('1 foot');
console.log(add(a, b).toString()); // '75.48 cm'
Polynomial Roots
const { polyRoots } = require('mathjs');
console.log(polyRoots([1, -3, 2])); // [2, 1]
Using the Expression Parser
const { evaluate } = require('mathjs');
console.log(evaluate('2 + 3 * (4 - 1)')); // 11
Sample Application
Here’s an example of a simple calculator app that showcases the power of Mathjs APIs.
const { evaluate } = require('mathjs');
const readline = require('readline').createInterface({
input: process.stdin,
output: process.stdout
});
console.log("Welcome to Mathjs Calculator");
readline.setPrompt('Enter expression: ');
readline.prompt();
readline.on('line', (line) => {
try {
const result = evaluate(line.trim());
console.log(`Result: ${result}`);
} catch (err) {
console.log('Invalid expression');
}
readline.prompt();
}).on('close', () => {
console.log('Calculator exited.');
process.exit(0);
});
With the help of Mathjs flexible APIs, we have created a simple yet powerful calculator that evaluates user-given expressions dynamically.
Hash: 60a9a6d21aac749b973100975b83dc3fef597e68c4aa0d0e3cfd6adb461a5a74