一、重复数组操作
python的numpy库中函数为tile函数,示例代码如下:
# Python
a = np.array([0, 1, 2])
np.tile(a, 2)
np.tile(a, (2, 2))
np.tile(a, (2, 1, 2))
matlab中对应的函数为repmat函数,示例代码如下:
% Matlab
A = diag([100 200 300])
B = repmat(A,2,3)
二、Kronecker product
之前的函数不能对待扩展的矩阵数值进行变换,kronecker积则对其进行了扩展。
Python的numpy库中有kron函数,示例代码如下:
# Python
np.kron(np.eye(2), np.ones((2,2)))
matlab中使用同名函数kron,示例代码如下:
% Matlab
n = 5;
I = speye(n,n);
E = sparse(2:n,1:n-1,1,n,n);
D = E+E'-2*I;
A = kron(D,I)+kron(I,D);
spy(A,'k')