【问题标题】:copy varibles to mat into matlab将变量复制到mat到matlab中
【发布时间】:2017-08-29 04:43:34
【问题描述】:

我有一个简单的任务要做

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

我想多次复制到一个矩阵中

例如mat=zeros(2020,1) 在一列中

但是,我想按顺序或索引复制它

index=(index + 4 )

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

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

举例

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

【问题讨论】:

标签: matlab


【解决方案1】:

您可以简单地使用repmat 重复向量2020 / 5 = 404 次:

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

这里的技巧是将向量 p 转置为列向量,然后您只需沿行重复 404 次即可给出重复 1 到 5 秒的 2020 元素向量。


如果我可以提出其他建议,您可以通过简单地声明一个从 0 到 2019 的向量来避免使用 repmat,然后使用 mod - 除数为 5 并加 1 的模运算符,以确保您将获得从 1 到 5 而不是 0 到 4 的可能值:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-12-29
    • 1970-01-01
    • 2014-12-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-10
    相关资源
    最近更新 更多