从索引向量生成矩阵

aaa*_*aaa 1 matlab

在matlab中,我有一个矩阵和索引向量v(在实际问题中,v向量很长)

A = [1,2,3;4,5,6;7,8,9]; % 3-by-3 matrix
v = [1,2,3,2,3,3,1]
Run Code Online (Sandbox Code Playgroud)

我怎样才能生成像这样的矩阵

[A(1,:);A(2,:);A(3,:);A(2,:);A(3,:);A(3,:);A(1,:)]
Run Code Online (Sandbox Code Playgroud)

没有使用循环或明确写出一切?

Dan*_*iel 7

你可以使用向量来索引,A([1,1,1])会给你第一个元素的三倍.

A(v,:)
Run Code Online (Sandbox Code Playgroud)