将varibles复制到matlab中

时间:2017-08-29 04:43:34

标签: matlab

我有一个简单的任务

p=1:5
p=[1 2 3 4 5]

我想多次复制到一个矩阵

e.g。 mat =零(2020,1)在一栏

但是,我想按顺序或索引

复制它
index=(index + 4 )

所以每5行我会得到1到5次,直到矩阵结束

mat将填充从1到5的p的所有元素,直到大小mat列结束

例如

mat = [1 ;2; 3; 4; 5; 
1; 2 ;3; 4; 5
1 ;2; 3; 4; 5; 
1; 2 ;3; 4; 5........]

1 个答案:

答案 0 :(得分:2)

您只需使用repmat重复向量2020 / 5 = 404次:

p = (1 : 5).';
mat = repmat(p, 404, 1);

这里的诀窍是转置你的矢量p,使其成为列矢量,然后你只需要沿着行重复404次,得到一个重复1到5的2020元素矢量。 / p>

如果我可以推荐别的东西,你可以通过简单地声明从0到2019的向量来避免使用repmat,然后使用mod - 除数为5且加1的模数运算符确保您将获得从1到5而不是0到4的可能值:

mat = mod((0:2019).', 5) + 1;