How to Create Custom Functions in math.js?
Last Updated :
23 Jul, 2024
Custom Functions in Math.js are nothing but user-defined functions that extend the capabilities of the library. They allow you to implement specific logic or calculations that are not available in the standard Math.js library. In this article, we will learn to create custom functions in Math.js to perform computations.
You can install math.js using npm with the following command:
npm i mathjs
Alternatively, you can include it in your HTML file directly from a CDN:
<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjs/10.0.0/math.js"></script>
Approach
- Define a Simple Custom Function
- Define a Custom Function with Complex Logic
Define a Simple Custom Function
In this approach, we are using Math.js to define a simple custom function called customAdd that takes two parameters and returns their sum. We use the math.import method to add this custom function to the Math.js instance and then call the custom function to add two numbers.
Example: The below example defines a simple custom function in Math.js.
JavaScript
// script.js
const { create, all } = require('mathjs');
const math = create(all);
// defining a simple custom function
math.import({
customAdd: function (a, b) {
return a + b;
}
}, { override: true });
// using the custom function
const result = math.customAdd(5, 3);
console.log(`The result of customAdd(5, 3) is ${result}`);
Output
The result of customAdd(5, 3) is 8
Define a Custom Function with Complex Logic
In this approach, we are using Math.js to define a custom function called customFactorial that calculates the factorial of a given number. The function includes complex logic to handle the calculation iteratively. We use the math.import method to add this custom function to the Math.js instance and then call the custom function to compute the factorial of a number.
Example: The below example defines a custom function with complex logic in Math.js.
JavaScript
// script.js
const { create, all } = require('mathjs');
const math = create(all);
// defining a custom function with complex logic for factorial
math.import({
customFactorial: function (n) {
if (n < 0) return undefined;
if (n === 0 || n === 1) return 1;
let result = 1;
for (let i = 2; i <= n; i++) {
result *= i;
}
return result;
}
}, { override: true });
// using the custom function
const number = 5;
const result = math.customFactorial(number);
console.log(`The result of customFactorial(${number}) is ${result}`);
Output
The result of customFactorial(5) is 120