Q
复制元素,逐矩阵
1
A
回答
4
我不知道的方法使用repmat
但这里是用kron
kron([1 2 ; 3 4],[1 1;1 1])
ans =
1 1 2 2
1 1 2 2
3 3 4 4
3 3 4 4
0
的,它使用repmat
是
A=[1 2; 3 4];
cell2mat(arrayfun(@(x)repmat(x,2,2),A,'UniformOutput',false))
ans =
1 1 2 2
1 1 2 2
3 3 4 4
3 3 4 4
arrayfun
用于在A
每个元素评估替代方法使用匿名函数@(x)repmat(x,2,2)
将该单个元素复制到2x2矩阵中。
arrayfun
的结果是一个2x2单元阵列,其中每个元素是一个2x2矩阵。然后我们通过cell2mat
将这个单元阵列转换成矩阵。
0
让数据被定义为
A = [1 2; 3 4];
R = 2; %// number of repetitions of each row
C = 2; %// number of repetitions of each column. May be different from R
两种可能的方法如下:
最简单的方法是使用索引:真的
B = A(ceil(1/R:1/R:size(A,1)), ceil(1/C:1/C:size(A,2)));
如果您想用
repmat
来做,你需要使用permute
和reshape
:将原始尺寸1,2移动到尺寸2,4(permute
);沿着新的维度重复1,3(repmat
);塌陷尺寸1,2为一名维和3,4为另一尺寸(reshape
):[r c] = size(A); B = reshape(repmat(permute(A, [3 1 4 2]), [R 1 C 1]), [r*R c*C]);
实施例导致对其R=2
,C=3
(与任何两种方法获得的):
B =
1 1 1 2 2 2
1 1 1 2 2 2
3 3 3 4 4 4
3 3 3 4 4 4
相关问题
- 1. 矩阵与元素的矩阵元素
- 2. 矩阵元素
- 3. MATLAB:从矩阵变换到元件逐元素乘法
- 4. Matlab 2x2矩阵的阵列和逐元矩阵/向量乘法
- 5. 复制矩阵
- 6. C使用指针创建矩阵,然后从矩阵中复制元素
- 7. 如何重复元素矩阵在MATLAB
- 8. 选择矩阵元素(矩阵语言)
- 9. 矩阵的矩阵对角元素
- 10. 用矩阵替换矩阵元素
- 11. 创建矩阵列的逐元素乘积
- 12. MATLAB改变矩阵元素
- 13. 矩阵的元素structers
- 14. 提取矩阵元素
- 15. 修改矩阵的元素
- 16. 矩阵元素比较
- 17. 矩阵元素组合
- 18. OpenCV:矩阵元素访问
- 19. 矩阵乘以元素
- 20. Matlab矩阵元素检查
- 21. 在矩阵元素移动
- 22. 与元素在矩阵
- 23. Haskell阵列(矩阵)元素访问
- 24. 矩阵的高效复制
- 25. 在Python中复制矩阵
- 26. 如何复制矩阵?
- 27. 复制矩阵R中
- 28. 复制1d元素2d阵列
- 29. R:从另一个矩阵的元素中减去矩阵的元素
- 30. 矩阵矩阵复杂度
这简单的克朗工作!非常感谢你! – user3354883