当前位置:  开发笔记 > 编程语言 > 正文

删除MATLAB中的统一列

如何解决《删除MATLAB中的统一列》经验,为你挑选了1个好方法。

说我有一个2D矩阵A:

A = [   1   1   0   0
        1   0   0   0
        1   1   1   0];

A不一定是二进制,甚至整数(即浮点数是可能的).我想删除任何包含统一值元素的列.在上面的例子中,我会得到:

1   0
0   0
1   1

为了使其完全通用,我想允许用户选择删除行/列/切片的维度(即,使用DIM选项).

有任何想法吗?



1> 小智..:

您可以尝试使用min和max函数,它们允许您使用dim参数.

例如

index = min(A,[],1)==max(A,[],1);
A(:,index)=[];

将删除您想要的列.对行执行相同操作非常简单

index = min(A,[],2)==max(A,[],2);
A(index,:)=[];

推荐阅读
pan2502851807
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有