JavaScript Math.log() Examples [In-Depth Tutorial]


Written by - Olorunfemi Akinlua
Reviewed by - Deepak Prasad

The Math.log() method in JavaScript is used to return the natural logarithm of a number. This method is commonly used in mathematical and scientific computations where the need to calculate the exponent of a number arises.

In this article, we will discuss how to make use of the Math.log() method in JavaScript with some examples.

 

Logarithm Operations in JavaScript

In mathematics, a logarithm is the inverse function to exponentiation. Given a base number b and an exponent x, the logarithm of x with respect to b is defined as the power to which b must be raised to produce x. In other words:

x = b^y
y = log_b(x)

There are different types of logarithms, including the common logarithm (base 10), the natural logarithm (base e), and the binary logarithm (base 2). In JavaScript, the Math.log() method returns the natural logarithm of a number.

 

Using the Math.log() method in JavaScript

The Math.log() method takes one argument, which is the number for which we want to calculate the natural logarithm. It returns the natural logarithm of the number.

Here is the syntax for using the Math.log() method

Math.log(num);

where the num variable is the number we want to get their logarithm value.

Here is a simple example using the Math.log() method.

const num = 10;
const result = Math.log(num);
console.log(result);

Output

2.302585092994046

In this example, we use the Math.log() method to calculate the natural logarithm of the number 10.

 

Example 1: Calculating the natural logarithm of a variable

const num = 15;
const result = Math.log(num);
console.log(`The natural logarithm of ${num} is ${result}`);

Output

The natural logarithm of 15 is 2.70805020110221

In this example, we use the Math.log() method to calculate the natural logarithm of a variable num, which has a value of 15.

In this example, we use the Math.exp() method to calculate the exponential value of the number 3. The Math.exp() method calculates the value of e raised to the power of the argument. We use the natural logarithm to calculate the exponential value of 3.

 

Example 2: Solving for an unknown exponent

Suppose we have an equation y = a^x, where we know the values of a and y, but we want to solve for x. We can use the Math.log() method to do this.

const a = 2;
const y = 32;
const x = Math.log(y) / Math.log(a);
console.log(x);

Output

5

In this example, we have a = 2 and y = 32. We want to find the value of x such that y = a^x. We can use the logarithmic property that log_a(y) = log_b(y) / log_b(a) to solve for x. In this case, we use the Math.log() method to calculate the logarithms with base 10, and then divide them to get the value of x. The result is x = 5.

 

Example 3: Calculating the entropy of a probability distribution

In information theory, the entropy of a probability distribution is a measure of the uncertainty or randomness of the distribution. The formula for calculating the entropy of a discrete probability distribution is H = -sum(p * log2(p)), where p is the probability of each event in the distribution. We can use the Math.log() method to calculate the logarithm with base 2, which is the log2() method.

const probabilities = [0.28, 0.57, 0.25];
const entropy = probabilities.reduce((acc, p) => acc - p * Math.log2(p), 0);
console.log(entropy);

Output

1.4764710750584842

In this example, we have a discrete probability distribution with three events, each with a probability of 0.28, 0.57, and 0.25. We want to calculate the entropy of the distribution. We use the reduce() method to calculate the sum of p * log2(p) for each event, and then negate the result to get the entropy.

 

Example 4: Finding the exponent of a number

The logarithm of a number with base b and exponent x is defined as log_b(x) = y, where b^y = x. Therefore, you can use Math.log() to find the exponent of a number with a given base.

// Find the exponent of 2 that equals 64
let x = 64;
let base = 2;
let exponent = Math.log(x) / Math.log(base);
console.log(exponent); // Outputs 6

 

Example 5: Calculating the interest rate

In finance, the interest rate can be calculated using the formula r = (1/t) * log(P/F), where P is the present value, F is the future value, t is the number of years, and r is the interest rate. You can use Math.log() to calculate the natural logarithm of the ratio P/F.

// Calculate the interest rate for an investment that yields $3000 from an initial investment of $1000 after 5 years
let presentValue = 1000;
let futureValue = 3000;
let years = 5;
let rate = (1 / years) * (Math.log(futureValue) - Math.log(presentValue));
console.log(rate); // Outputs 0.3920426807160105

 

Example 6: Generating random numbers with a logarithmic distribution

In probability theory, a logarithmic distribution is a probability distribution that describes the likelihood of a random variable taking on values according to a logarithmic function. You can use Math.log() to generate random numbers that follow a logarithmic distribution.

// Generate a random number between 1 and 1000 that follows a logarithmic distribution
function randomLogarithmic(min, max) {
  let u = Math.random();
  let logMin = Math.log(min);
  let logMax = Math.log(max);
  let logValue = logMin + u * (logMax - logMin);
  return Math.floor(Math.exp(logValue));
}

console.log(randomLogarithmic(1, 1000)); // Outputs a random number between 1 and 1000 with a logarithmic distribution

 

Summary

The Math.log() method in JavaScript is a useful tool for calculating the natural logarithm of a number. It takes one argument, which is the number for which we want to calculate the natural logarithm, and returns the natural logarithm of the number. This method is commonly used in mathematical and scientific computations.

 

References

Math.log() - JavaScript | MDN (mozilla.org)
Math.log2() - JavaScript | MDN (mozilla.org)

 

Views: 2

Olorunfemi Akinlua

He is boasting over five years of experience in JavaScript, specializing in technical content writing and UX design. With a keen focus on programming languages, he crafts compelling content and designs user-friendly interfaces to enhance digital experiences across various domains. You can connect with him on LinkedIn.

Can't find what you're searching for? Let us assist you.

Enter your query below, and we'll provide instant results tailored to your needs.

If my articles on GoLinuxCloud has helped you, kindly consider buying me a coffee as a token of appreciation.

Buy GoLinuxCloud a Coffee

For any other feedbacks or questions you can send mail to admin@golinuxcloud.com

Thank You for your support!!

Leave a Comment