[英]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
范围是1
到n(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.