【问题标题】:Matlab repmat into long single dismension array? [duplicate]Matlab repmat 成长的单维数组? [复制]
【发布时间】:2016-05-31 16:32:33
【问题描述】:

我正在尝试:

a = [1 2 3]  

重复5次得到:

b = [1 2 3 1 2 3 1 2 3 1 2 3 1 2 3]  

但是当我尝试时:

b = repmat(a, 5, 1)  

相反,我得到:

 b =

 1     2     3
 1     2     3
 1     2     3
 1     2     3
 1     2     3

我可能可以使用 for 循环来做到这一点,但如果可能的话,我想正确地做到这一点。有什么建议么?提前致谢

【问题讨论】:

  • 下次请努力搜索您的问题。通过在 Google 上搜索“MATLAB repeat vector stackoverflow”,我标记的重复项是我找到的第一个链接。
  • 我很抱歉。我进行了搜索,我使用了错误的术语(数组 vs 向量)所以我没有找到它。我应该记下这个问题吗?
  • 不用担心。我认为这是有成效的,因为人们可能会搜索与您的标题中看到的相同的关键字。我说放下吧。顺便说一句,我没有对你投反对票。

标签: arrays matlab dimensions


【解决方案1】:

使用以下代码:

b = repmat(a,1,5)

数字“1”和“5”指的是要重复矩阵a 的行数和列数。顺序很重要。

【讨论】:

  • b=repmat(a,[1,5]) 是另一种写法。也许值得一提的是,第二个参数指的是垂直的第一个维度。第三个参数指的是第二个维度,它是水平的。
  • 多余的括号有什么作用?
  • @ErinGoBragh 它只是使用行向量指定重复方案。如果您还没有,请参阅repmat 的文档。
猜你喜欢
  • 1970-01-01
  • 2016-01-13
  • 1970-01-01
  • 1970-01-01
  • 2014-04-23
  • 2017-08-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多