Matlab 将值从一个向量复制到另一个向量

Matlab 将值从一个向量复制到另一个向量,matlab,Matlab,我有一个向量,它是5000x1&包含双精度,叫做NewVector。我还有另外两个向量,其中一个也是5000 x 1,叫做OldVector。然后我有一个名为CompanyIndex的向量,它也是一个双重类型,它包含OldVector的所有行号,我希望将数据复制到NewVector。每次代码更新时,此向量(CompnayIndex)的大小都会更改 我想做的一个例子 Old Vector New Vector CompanyIndex Result I'm loo

我有一个向量,它是5000x1&包含双精度,叫做NewVector。我还有另外两个向量,其中一个也是5000 x 1,叫做OldVector。然后我有一个名为CompanyIndex的向量,它也是一个双重类型,它包含OldVector的所有行号,我希望将数据复制到NewVector。每次代码更新时,此向量(CompnayIndex)的大小都会更改

我想做的一个例子

Old Vector     New Vector     CompanyIndex          Result I'm looking for - New Vector
3              0              2                     0
6              0              3                     6
12             0              5                     12
9              0                                    0
36             0                                    36

New\u Vector(CompanyIndex)=Old\u Vector(CompanyIndex)
再次感谢,一切正常!我假设这样做只会返回6,12和36。然而,这是因为CompanyIndex不是逻辑向量,所以不会发生这种情况吗?不要忘记使用
NewVector=zero(size(OldVector))
如果
CompanyIndex
的最后一个索引小于
OldVector
@mHelpMe的长度,它会起作用,因为
New\u Vector
已被定义为与Old\u Vector大小相同的向量,并且我们使用
CompanyIndex
将其索引到这两个索引中,因此复制相同位置的值。