MATLAB repmat()函数的使用
一、语法
B = repmat(A,n) B = repmat(A,r1,...,rN) B = repmat(A,r)
讯享网
二、说明
B = repmat(A,n)返回一个数组,该数据在其行维度和列维度包含A的n个副本。A为矩阵时,B大小为size(A)*n。
B = repmat(A,r1,…,rN)指定一个标量列表r1,…, rN,这些标量用于描述A的副本在每个维度中如何排列。当A具有N维时,B的大小为size(A).*[r1…rN]。例如:repmat([1 2; 3 4],2,3)返回一个4x6的矩阵。
B = repmat(A,r)使用行向量r指定重复方案。例如,repmat(A,[2,3])与repmat(A,2,3)返回相同的结果。
三、示例
使用相同的元素初始化矩阵
创建一个所有元素的值均为10的3x2的矩阵。
讯享网A = repmat(10, 3, 2)
% 输出 A = 10 10 10 10 10 10
方块格式
将矩阵副本重复到2x2块排列中。
讯享网A = diag([100 200 300])
% 输出 A = 100 0 0 0 200 0 0 0 300
讯享网B = repmat(A, 2)
% 输出 B = 100 0 0 100 0 0 0 200 0 0 200 0 0 0 300 0 0 300 100 0 0 100 0 0 0 200 0 0 200 0 0 0 300 0 0 300
矩形块格式
将矩阵副本重复到2x3块排列中。
讯享网A = diag([100 200 300])
% 输出 A = 100 0 0 0 200 0 0 0 300
讯享网B = repmat(A,2,3)
% 输出 B = 100 0 0 100 0 0 100 0 0 0 200 0 0 200 0 0 200 0 0 0 300 0 0 300 0 0 300 100 0 0 100 0 0 100 0 0 0 200 0 0 200 0 0 200 0 0 0 300 0 0 300 0 0 300
三维块数组
将矩阵副本重复到2x2x3块排列中。
讯享网A = [1 2; 3 4]
% 输出 A = 1 2 3 4
讯享网B = repmat(A,[2 3 2])
% 输出 B(:,:,1) = 1 2 1 2 1 2 3 4 3 4 3 4 1 2 1 2 1 2 3 4 3 4 3 4 B(:,:,2) = 1 2 1 2 1 2 3 4 3 4 3 4 1 2 1 2 1 2 3 4 3 4 3 4
垂直行向量堆栈
垂直堆叠行向量四次。
讯享网A = 1:4; B = repmat(A,4,1)
% 输出 B = 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4
包含列向量的水平堆栈
水平堆叠列向量四次。
讯享网A = (1:3)'; B = repmat(A,1,4)
% 输出 B = 1 1 1 1 2 2 2 2 3 3 3 3
表格块格式
使用Age和Height创建表
讯享网A = table([39;26],[70;63],'VariableNames', {
'Age' 'Height'})
% 输出 A = 2×2 table Age Height ___ ______ 39 70 26 63
重复表格副本并将其加入到2x3块格式中。
讯享网B = repmat(A,2,3)
% 输出 B = 4×6 table Age Height Age_1 Height_1 Age_2 Height_2 ___ ______ _____ ________ _____ ________ 39 70 39 70 39 70 26 63 26 63 26 63 39 70 39 70 39 70 26 63 26 63 26 63
repmat重复表项,并将一个数字追加到新变量名称后面。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/58976.html