matlab学习笔记 repmat函数与kron函数之区别

    首先举个例子:

  给出原矩阵:

A = [1  2  3
     4  5  6
     7  8  9]

  现要把它扩展为:           

 B =  [1  2  3  1  2  3
       4  5  6  4  5  6
       7  8  9  7  8  9
       1  2  3  1  2  3
       4  5  6  4  5  6
       7  8  9  7  8  9]

方法一:      

a = [1 2 3; 4 5 6; 7 8 9];
A = [a a;a a];

方法二:     

a = [1 2 3; 4 5 6; 7 8 9];
b = [a a];
A = [b;b];

方法三:     

B = repmat(A,2,2);

方法四:

B=kron(ones(2,2),A)

但是,repmat和kron是有区别的。

repmat只是数据复制的过程,而kron还需要计算。

如果将kron仅用于复制,效率较低,特别是在A较大的时候比较明显,所以这种情况下适合用repmat。



你可能感兴趣的:(函数,matlab)