我想将3D矩阵的大小扩展N倍。
以N = 3,
为例进行2D示例[1 2;
3 4]
应该转换为
[1 1 1 2 2 2 ;
1 1 1 2 2 2;
1 1 1 2 2 2;
3 3 3 4 4 4 ;
3 3 3 4 4 4 ;
3 3 3 4 4 4 ]
非常感谢。
虽然示例是2D,但我真正需要的是3D矩阵的解决方案。函数kron()不适用于3D。
答案 0 :(得分:4)
您可以使用kron
:
kron(A, ones(N,N))
或使用索引:
A(ceil(1/N:1/N:end), ceil(1/N:1/N:end))
kron
不适用于3D,但索引会起作用:
A = cat(3, [1 2; 3 4], [10 20; 30 40]);
A(ceil(1/N:1/N:end), ceil(1/N:1/N:end), ceil(1/N:1/N:end))
当然,您可以在每个维度上使用不同的“N
”值,例如N1
,N2
,N3
:
A(ceil(1/N1:1/N1:end), ceil(1/N2:1/N2:end), ceil(1/N3:1/N3:end))