如何在Matlab中只选择矩阵中的某些行?

use*_*148 2 matlab

A在Matlab中有一个矩阵

A= [1 2 3 |1;
    2 3 4 |2; 
    5 6 7 |2; 
    3 4 5 |1; 
    6 7 0 |3; 
    6 3 7 |3; 
    4 5 3 |1; 
    6 5 4 |4]
Run Code Online (Sandbox Code Playgroud)

最后一列包含可能重复的自然索引.对于最后一列中的每个索引,我想选择A与该索引关联的第一行并创建矩阵

B=[1 2 3 |1;
   2 3 4 |2;
   6 7 0 |3;
   6 5 4 |4]
Run Code Online (Sandbox Code Playgroud)

Dan*_*Dan 5

使用unique得到的值和索引您需要:

[U,I] = unique(A(:,4), 'first')
Run Code Online (Sandbox Code Playgroud)

然后

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