【问题标题】:Populate a vector in Matlab using a smaller vector使用较小的向量在 Matlab 中填充向量
【发布时间】:2017-08-16 01:49:48
【问题描述】:

我需要用另一个较小向量的元素填充一个向量。所以说我需要填充的向量长度为​​ 10,目前全为零,即

vector = [0,0,0,0,0,0,0,0,0,0]

现在假设我已经定义了一个向量

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

我怎样才能用数组“p”填充“向量”以使结果为[1, 2, 3, 4, 5, 0, 0, 0, 0, 0]?请记住,我希望“矢量”中的其他位置保持不变。我已经尝试过使用repmat(p, length(p)),但这最终给了我[1,2,3,4,5,1,2,3,4,5] 形式的东西。谢谢!

【问题讨论】:

标签: arrays matlab vector


【解决方案1】:

试试vector slicingconcatenation的组合:

vector = cat(1, p, vector(5:))

这样更快:

vector(1:5) = p

更一般地说,

vector(1:numel(p)) = p

【讨论】:

  • 第一个选项不正确。第二个选项是执行此操作的标准方法。
  • 这里的第二个选项是要走的路。对于像这样vector(1:numel(p)) = p;的不同大小的p,它也可以进一步推广
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-10-15
  • 2020-07-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多