如何在matlab中的另一个矩阵内插入矩阵

时间:2019-01-21 09:16:24

标签: matlab matrix linear-algebra

我们有一个数据集X n * m矩阵,我想创建一个像W = [0 X; X'0]这样的矩阵 我应该如何在Matlab中做到这一点?

   A=[1 2;3 4];
   B=[0 A;A' 0];

该代码有什么问题?

3 个答案:

答案 0 :(得分:2)

使用kron的可能解决方案:

A = [1 2; 3 4]

result = kron([0 1;0 0], A) + kron([0 0;1 0], A');

result =

   0   0   1   2
   0   0   3   4
   1   3   0   0
   2   4   0   0

答案 1 :(得分:1)

您只需要使用zeros来确保尺寸一致

A = [1 2; 3 4];
z = zeros( size( A ) );
B = [ z, A; A', z ];

答案 2 :(得分:0)

因为0的大小与行和列中的AA'不一样。 您可以创建所需大小的矩阵:

B = zeros(2*size(A));

并在所需位置替换值:

B(1:2, 3:4) = A;
B(3:4, 1:2) = A.';