Функция дельта Кронекера
Примечание
Для 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)
