Функция дельта Кронекера
Примечание
Для kroneckerDelta
с числовыми входами используйте eq
вместо этого функция.
Установите символическую переменную m
равен символьной переменной n
и проверить их равенство используя kroneckerDelta
.
syms m n m = n; kroneckerDelta(m,n)
ans = 1
kroneckerDelta
возвращает 1
указывает, что входы равны.
Сравните символьные переменные p
и q
.
syms p q kroneckerDelta(p,q)
ans = kroneckerDelta(p - q, 0)
kroneckerDelta
не может решить, p == q
и возвращает вызов функции с неопределяемым входом. Обратите внимание, что kroneckerDelta(p, q)
равно kroneckerDelta(p - q, 0)
.
Чтобы принудительно получить логический результат для неопределяемых входов, используйте isAlways
. isAlways
функция выдает предупреждение и возвращает логическое 0
(false
) для неопределяемых входов. Установите Unknown
опция для false
чтобы подавить предупреждение.
isAlways(kroneckerDelta(p, q), 'Unknown', 'false')
ans = logical 0
Установите символическую переменную m
на 0
и тестовые m
для равенства с 0
. kroneckerDelta
ошибки функции, поскольку она не принимает числовые входы типа double
.
m = 0; kroneckerDelta(m)
Undefined function 'kroneckerDelta' for input arguments of type 'double'.
Использовать sym
в преобразование 0
символьному объекту перед назначением его m
. Это потому, что kroneckerDelta
принимает только символьные входы.
syms m m = sym(0); kroneckerDelta(m)
ans = 1
kroneckerDelta
возвращает 1
указывает, что m
равно 0
. Обратите внимание, что kroneckerDelta(m)
равно kroneckerDelta(m, 0)
.
Сравните вектор чисел [1 2 3 4]
с символьной переменной m
. Задайте m
на 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
действует на V
поэлементно для возврата вектора, sol
, который имеет тот же размер что и V
. Третий элемент sol
является 1
указывает, что третий элемент V
равен m
.
Сравните матрицы A
и B
.
Объявить матрицы A
и 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]
Сравнение A
и B
использование kroneckerDelta
.
sol = kroneckerDelta(A,B)
sol = [ 1, 0, 1] [ 0, 1, 0]
kroneckerDelta
действует на A
и B
поэлементно для возврата матрицы sol
который имеет тот же размер что и A
и B
. Элементы sol
которые являются 1
указать, что соответствующие элементы A
и B
равны. Элементы sol
которые являются 0
указать, что соответствующие элементы A
и B
не равны.
kroneckerDelta
Входные параметры других функцийkroneckerDelta
появляется в выходах iztrans
.
syms z n sol = iztrans(1/(z-1), z, n)
sol = 1 - kroneckerDelta(n, 0)
Используйте этот выход как вход для ztrans
для возврата начального входного выражения.
ztrans(sol, n, z)
ans = z/(z - 1) - 1
Использование filter
чтобы найти ответ фильтра, когда вход является функцией дельты Кронекера. Преобразование k
в символьный вектор с использованием sym
потому что kroneckerDelta
принимает только символьные входы и преобразует их обратно в double с помощью double
. Предоставьте произвольные коэффициенты фильтра a
и b
для простоты.
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)