使用 Matlab/Octave 合并多个矩阵
Merger of Multiple matrices using Matlab/Octave
假设我们有 3 个矩阵,A
、B
和 C
,它们的大小都相同 256x256
。已知 Matrix A
的最后 20% 的列与 Matrix B
的前 20% 相同,而 Matrix B
的最后 10% 与 Matrix [=] 的前 10% 相同15=]。所以在这些情况下,因为我们知道重叠量,所以我不需要比较 3 个矩阵,但我想在重叠处加入它们。
这里以一个较小的矩阵为例,就是3个矩阵
A = [1 2 3 4 ; 5 6 7 8; 9 10 11 12];
B = [3 4 13 14; 7 8 15 16; 11 12 17 18];
C = [14 19 20 21; 16 22 23 24; 18 25 26 27];
所以我希望我的输出是
D = [1 2 3 4 13 14 19 20 21
5 6 7 8 15 16 22 23 24
9 10 11 12 17 18 25 26 27
我希望这可以更好地解释它。我对 matlab 非常陌生。我尝试使用矩阵移位,但我们只有循环移位可用。
串联不起作用,因为它只是连接了 3 个矩阵。将这 3 个矩阵叠加在一起的最佳方法是什么?
合理利用矩阵indexing and concatenation
以你为例
D = [A B(:,3) C];
对于 256x256
矩阵和您的串联条件:
D = [A B(:, 0.2*256+1 : 0.9*256) C]
由于 256/10
不是整数,您可以调整索引值
假设我们有 3 个矩阵,A
、B
和 C
,它们的大小都相同 256x256
。已知 Matrix A
的最后 20% 的列与 Matrix B
的前 20% 相同,而 Matrix B
的最后 10% 与 Matrix [=] 的前 10% 相同15=]。所以在这些情况下,因为我们知道重叠量,所以我不需要比较 3 个矩阵,但我想在重叠处加入它们。
这里以一个较小的矩阵为例,就是3个矩阵
A = [1 2 3 4 ; 5 6 7 8; 9 10 11 12];
B = [3 4 13 14; 7 8 15 16; 11 12 17 18];
C = [14 19 20 21; 16 22 23 24; 18 25 26 27];
所以我希望我的输出是
D = [1 2 3 4 13 14 19 20 21
5 6 7 8 15 16 22 23 24
9 10 11 12 17 18 25 26 27
我希望这可以更好地解释它。我对 matlab 非常陌生。我尝试使用矩阵移位,但我们只有循环移位可用。 串联不起作用,因为它只是连接了 3 个矩阵。将这 3 个矩阵叠加在一起的最佳方法是什么?
合理利用矩阵indexing and concatenation
以你为例
D = [A B(:,3) C];
对于 256x256
矩阵和您的串联条件:
D = [A B(:, 0.2*256+1 : 0.9*256) C]
由于 256/10
不是整数,您可以调整索引值