matlab矩阵获取不同列的值

matlab matrix get values in different columns

让我的矩阵为:

        A = 
        [1,2,3;
        4,5,6;
        7,8,9];

我必须提取 (1,2)、(2,3)、(3,1) 中的值。 我尝试了以下方法:

        c = [2,3,1]';

        A(:, c)

但它给出了一个 3x3 矩阵而不是 3x1。

如何在 matlab 中高效地完成?

从矩阵中提取任意值的最佳方法是使用线性索引。

您可以使用sub2ind

ind=sub2ind(size(A),[1 2 3], [2 3 1]);
val=A(ind);