将变量复制到mat到matlab中
Posted
技术标签:
【中文标题】将变量复制到mat到matlab中【英文标题】:copy varibles to mat into 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........]
【问题讨论】:
repmat
【参考方案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;
【讨论】:
以上是关于将变量复制到mat到matlab中的主要内容,如果未能解决你的问题,请参考以下文章
如何在不复制数据的情况下将 OpenCV Mat 发送到 MATLAB 工作区?