繁体   English   中英

矩阵元素之间的差异之和

[英]Summation of difference between matrix elements

我正在用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中编写代码。 我该怎么做?

我使用以下等式。

方程

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

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

您可能需要查看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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM