kron函数实现Kronecker tensor product, 关于它的定义:
图片来自于kron的文档.
看了它的定义后, 我突然发现kron完全可以实现repmat和repelem的功能.
举个例子, 将矩阵A的按照行方向复制3次, 按照列方向复制2次.
>> A = [1 2; 3 4]
A =
1 2
3 4
>> repmat(A, 3, 2)
ans =
1 2 1 2
3 4 3 4
1 2 1 2
3 4 3 4
1 2 1 2
3 4 3 4
如果使用kron函数:
>> A = [1 2; 3 4]
A =
1 2
3 4
>> kron(ones(3, 2), A)
ans =
1 2 1 2
3 4 3 4
1 2 1 2
3 4 3 4
1 2 1 2
3 4 3 4
repelem函数可能很多读者不熟悉, 因为它是R2015a开始才有的新函数(虽然过去了3年多了:) ).
repelem也是复制, 但是与repmat不同, repmat是以矩阵为单位进行整体复制, 而repelem是对矩阵中的元素为单位, 进行复制.
举个例子, 就应该秒懂了:
>> A = [1 2; 3 4]
A =
1 2
3 4
>> repelem(