将变量复制到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 工作区?

matlab中,如何将.txt格式文件转换成.mat格式文件

如何在matlab里保存以及打开变量

一种在 Matlab 中动态保存文件的方法? [复制]

MATLAB小常识3

将 mat 文件加载到 matlab 并稍后在 .m 文件中使用变量