矩阵元素之间差异的总和

时间:2011-05-08 08:11:15

标签: matrix matlab

我正在使用MATLAB构建函数。作为其中的一部分,我必须计算两个矩阵中元素之间的差异并总结它们。

让我解释两个矩阵的解释,

1 2 3 4 5 6
13 14 15 16 17 18

7 8 9 10 11 12
19 20 21 22 23 24

第一行中的计算 - 两个矩阵中只有四个元素被同时考虑(零表示填充):

    (1-8)+(2-9)+(3-10)+(4-11): This replaces 1 in initial matrix.
    (2-9)+(3-10)+(4-11)+(5-12): This replaces 2 in initial matrix.
    (3-10)+(4-11)+(5-12)+(6-0): This replaces 3 in initial matrix.
    (4-11)+(5-12)+(6-0)+(0-0): This replaces 4 in initial matrix. And so on

我无法决定如何在MATLAB中编写代码。我该怎么做?

我使用以下等式。

Equation

此处i的范围从1n(h)n(h),远距离对的数量。这取决于所选的滞后距离。因此,如果我选择1的滞后距离,则n(h)将为the number of elements - 1

当我使用7 X 7窗口时,考虑到中心值,n(h)= 4 - 1 = 3就是这种情况。

1 个答案:

答案 0 :(得分:1)

您可能需要查看circshfit()函数:

a = [1 2 3 4; 9 10 11 12];
b = [5 6 7 8; 12 14 15 16];

for k = 1:3
    b = circshift(b, [0 -1]);
    b(:, end) = 0;

    diff = sum(a - b, 2)
end