如何在矩阵(4000x10)中消除最后两个元素相等的所有列? (在Matlab中)
答案 0 :(得分:5)
我猜以前的答案反转了行和列,我会这样做:
A=[1 2 3 ; 4 5 6 ; 5 5 5]
A =
1 2 3
4 5 6
5 5 5
这里,第二列具有相同的两个最后元素。
A(:,A(end,:)==A(end-1,:))=[]
A =
1 3
4 6
5 5
答案 1 :(得分:1)
试试这个:
B = A( : , A(: , end-1) ~= A(: , end) )
以下是其工作原理:
A(:,end-1)
获得倒数第二列A(:,end)
获取最后一列A(: , end-1) ~= A(: , end)
选择这些条目不相等的行答案 2 :(得分:1)
首先索引最后两个元素相等的所有列,即矩阵的最后两行相等。所以我们假设矩阵是A
:
index = (A(:,end) == A(:,end-1) );
然后删除此列,
A(:,index) = [];