kroneckerDelta
Kronecker delta function
Description
Examples
Compare Two Symbolic Variables
Note
For kroneckerDelta with numeric inputs, use the eq function instead.
Set symbolic variable m equal to symbolic
variable n and test their equality using
kroneckerDelta.
syms m n m = n; kroneckerDelta(m,n)
ans = 1
kroneckerDelta returns 1 indicating that the
inputs are equal.
Compare symbolic variables p and q.
syms p q kroneckerDelta(p,q)
ans = kroneckerDelta(p - q, 0)
kroneckerDelta cannot decide if p == q and
returns the function call with the undecidable input. Note that
kroneckerDelta(p, q) is equal to kroneckerDelta(p - q,
0).
To force a logical result for undecidable inputs, use isAlways.
The isAlways function issues a warning and returns logical
0 (false) for undecidable inputs. Set the
Unknown option to false to suppress the
warning.
isAlways(kroneckerDelta(p, q), 'Unknown', 'false')
ans = logical 0
Compare Symbolic Variable with Zero
Set symbolic variable m to
0 and test m for equality with
0. The kroneckerDelta function errors
because it does not accept numeric inputs of type double.
m = 0; kroneckerDelta(m)
Undefined function 'kroneckerDelta' for input arguments of type 'double'.
Use sym to convert 0 to a symbolic object
before assigning it to m. This is because
kroneckerDelta only accepts symbolic inputs.
syms m m = sym(0); kroneckerDelta(m)
ans = 1
kroneckerDelta returns 1 indicating that
m is equal to 0. Note that
kroneckerDelta(m) is equal to kroneckerDelta(m,
0).
Compare Vector of Numbers with Symbolic Variable
Compare a vector of numbers [1 2 3 4] with
symbolic variable m. Set m to
3.
V = 1:4 syms m m = sym(3) sol = kroneckerDelta(V,m)
V =
1 2 3 4
m =
3
sol =
[ 0, 0, 1, 0]kroneckerDelta acts on V element-wise to
return a vector, sol, which is the same size as V.
The third element of sol is 1 indicating that the
third element of V equals m.
Compare Two Matrices
Compare matrices A and
B.
Declare matrices A and B.
syms m A = [m m+1 m+2;m-2 m-1 m] B = [m m+3 m+2;m-1 m-1 m+1]
A = [ m, m + 1, m + 2] [ m - 2, m - 1, m] B = [ m, m + 3, m + 2] [ m - 1, m - 1, m + 1]
Compare A and B using
kroneckerDelta.
sol = kroneckerDelta(A,B)
sol = [ 1, 0, 1] [ 0, 1, 0]
kroneckerDelta acts on A and
B element-wise to return the matrix sol which
is the same size as A and B. The elements of
sol that are 1 indicate that the corresponding
elements of A and B are equal. The elements of
sol that are 0 indicate that the corresponding
elements of A and B are not equal.
Use kroneckerDelta in Inputs to Other Functions
kroneckerDelta appears in the output of
iztrans.
syms z n sol = iztrans(1/(z-1), z, n)
sol = 1 - kroneckerDelta(n, 0)
Use this output as input to ztrans to return the initial input
expression.
ztrans(sol, n, z)
ans = z/(z - 1) - 1
Filter Response to Kronecker Delta Input
Use filter to find the response of a filter when the input is the Kronecker Delta function. Convert k to a symbolic vector using sym because kroneckerDelta only accepts symbolic inputs, and convert it back to double using double. Provide arbitrary filter coefficients a and b for simplicity.
b = [0 1 1]; a = [1 -0.5 0.3]; k = -20:20; x = double(kroneckerDelta(sym(k))); y = filter(b,a,x); plot(k,y)

Input Arguments
More About
Version History
Introduced in R2014b