# log2

Base-2 logarithm of symbolic input

## Description

example

Y = log2(X) returns the logarithm to the base 2 of X such that 2Y = X. If X is an array, then log2 acts element-wise on X.

example

[F,E] = log2(X) returns arrays of mantissas and exponents, F and E, such that $X=F\cdot {2}^{E}$. The values returned in F are in the range 0.5 <= abs(F) < 1. Any zeros in X return F = 0 and E = 0.

## Examples

collapse all

Compute the base-2 logarithm of a numeric input.

y = log2(4^(1/3))
y = 0.6667

Compute the base-2 logarithm of a symbolic input. The result is in terms of the natural logarithm log function.

syms x
ySym = log2(x^(1/3))
ySym =

$\frac{\mathrm{log}\left({x}^{1/3}\right)}{\mathrm{log}\left(2\right)}$

Substitute the symbolic variable x with a number by using subs. Simplify the result by using simplify.

yVal = subs(ySym,x,4)
yVal =

$\frac{\mathrm{log}\left({4}^{1/3}\right)}{\mathrm{log}\left(2\right)}$

simplify(yVal)
ans =

$\frac{2}{3}$

Find the mantissa and exponent of a base-2 logarithm of an input $X$. The mantissa $F$ and the exponent $E$ satisfy the relation $X=F\cdot {2}^{E}$.

Create a symbolic variable a and assume that it is real. Create a symbolic vector X that contains symbolic numbers and expressions. Find the exponent and mantissa for each element of X.

syms a real;
X = [1 0.5*2^a 5/7]
X =

$\left(\begin{array}{ccc}1& \frac{{2}^{a}}{2}& \frac{5}{7}\end{array}\right)$

[F,E] = log2(X)
F =

$\left(\begin{array}{ccc}\frac{1}{2}& \frac{\frac{1}{{2}^{⌊\frac{\mathrm{log}\left(\frac{{2}^{a}}{2}\right)}{\mathrm{log}\left(2\right)}⌋+1}} {2}^{a}}{2}& \frac{5}{7}\end{array}\right)$

E =

$\left(\begin{array}{ccc}1& ⌊\frac{\mathrm{log}\left(\frac{{2}^{a}}{2}\right)}{\mathrm{log}\left(2\right)}⌋+1& 0\end{array}\right)$

The values returned in F have magnitudes in the range 0.5 <= abs(F) < 1.

Simplify the results using simplify.

F = simplify(F)
F =

$\left(\begin{array}{ccc}\frac{1}{2}& {2}^{a-⌊a⌋-1}& \frac{5}{7}\end{array}\right)$

E = simplify(E)
E = $\left(\begin{array}{ccc}1& ⌊a⌋& 0\end{array}\right)$

## Input Arguments

collapse all

Input array, specified as a symbolic number, array, variable, function, or expression.

• When computing the base-2 logarithms of complex elements in X, log2 ignores their imaginary parts.

• For the syntax [F,E] = log2(X), any zeros in X produce F = 0 and E = 0. Input values of Inf, -Inf, or NaN are returned unchanged in F with a corresponding exponent of E = 0.

## Output Arguments

collapse all

Base-2 logarithm values, returned as a symbolic number, vector, matrix, or array of the same size as X.

Mantissa values, returned as a symbolic scalar, vector, matrix, or array of the same size as X. The values in F and E satisfy X = F.*2.^E.

Exponent values, returned as a symbolic scalar, vector, matrix, or array of the same size as X. The values in F and E satisfy X = F.*2.^E.

## Tips

• For floating-point input, the syntax [F,E] = log2(X) corresponds to the ANSI® C function frexp() and the IEEE® standard function logb(). Any zeros in X produce F = 0 and E = 0.