HOWTO · MATLAB

在 MATLAB 中使用 Kronecker Delta

本教程演示了如何在 MATLAB 中使用 Kronecker delta。

本页内容

本教程演示了如何在 MATLAB 中使用 kroneckerDelta() 方法。

MATLAB 中的克罗内克三角洲

Kronecker delta,以 Leopold Kronecker 命名,是数学中用于两个变量的函数:非负整数。

MATLAB 有一个用于 Kronecker delta 的内置函数 kroneckerDelta(),它具有类似的用途。

kroneckerDelta() 方法在 MATLAB 中比较并检查两个变量的相等性。它分别返回 1 或 0 为真或假。

在 MATLAB 中使用 Kronecker Delta 比较两个符号变量

让我们在 MATLAB 中使用 kroneckerDelta() 测试两个相等变量的相等性。

例子:

syms a b
a = b;
kroneckerDelta(a,b)

syms c d
kroneckerDelta(c,d)

输出:

ans =

1

ans =

kroneckerDelta(c - d, 0)

上面的代码使用 kroneckerDelta() 检查两个相等和两个不相等的变量是否相等。

a 等于 b,这就是 kroneckerDelta() 方法返回 1 的原因,这意味着 true。

kroneckerDelta() 方法无法确定 c 是否等于 d。它返回带有不确定输入的函数调用。

在 MATLAB 中使用 Kronecker Delta 比较符号变量与零

kroneckerDelta() 方法不接受变量类型双零。因此,我们不能直接输入 0。

我们使用 sym 将 0 转换为对象。

例子:

syms a
a = sym(0);
kroneckerDelta(a)

输出:

ans =

1

请记住,kroneckerDelta(a) 等于 kroneckerDelta(a,0),这意味着它将比较 a 和 0,应该返回 1。

在 MATLAB 中使用 Kronecker Delta 将数字向量与符号变量进行比较

让我们将数字向量与符号变量进行比较。该变量将与向量的每个成员进行比较。

例子:

Vec = 1:5
syms a
a = sym(5)
answer = kroneckerDelta(Vec,a)

输出:

Vec =

     1     2     3     4     5

a =

5

answer =

[ 0, 0, 0, 0, 1]

在 MATLAB 中使用 Kronecker Delta 比较两个矩阵

使用 kroneckerDelta() 进行比较时,两个矩阵应该具有相同的大小。

让我们使用 kroneckerDelta() 方法比较两个矩阵。

例子:

syms a
X = [a+3 a+1 a+2;a-2 a-1 a]
Y = [a+3 a a+2;a-1 a-1 a]

Answer = kroneckerDelta(X,Y)

输出:

X =

[ a + 3, a + 1, a + 2]
[ a - 2, a - 1,     a]

Y =

[ a + 3,     a, a + 2]
[ a - 1, a - 1,     a]

Answer =

[ 1, 0, 1]
[ 0, 1, 1]

上面的代码会将矩阵 X 的每个成员与同一位置的每个 Y 成员进行比较,并返回一个带有结果的矩阵。