说我有一个2D矩阵A:
A = [ 1 1 0 0
1 0 0 0
1 1 1 0];
Run Code Online (Sandbox Code Playgroud)
A不一定是二进制,甚至整数(即浮点数是可能的).我想删除任何包含统一值元素的列.在上面的例子中,我会得到:
1 0
0 0
1 1
Run Code Online (Sandbox Code Playgroud)
为了使其完全通用,我想允许用户选择删除行/列/切片的维度(即,使用DIM选项).
有任何想法吗?
小智 8
您可以尝试使用min和max函数,它们允许您使用dim参数.
例如
index = min(A,[],1)==max(A,[],1);
A(:,index)=[];
Run Code Online (Sandbox Code Playgroud)
将删除您想要的列.对行执行相同操作非常简单
index = min(A,[],2)==max(A,[],2);
A(index,:)=[];
Run Code Online (Sandbox Code Playgroud)