Matlab 如何找到至少有k个非零元素的列的索引?
我有一个矩阵a,如下所示:Matlab 如何找到至少有k个非零元素的列的索引?,matlab,Matlab,我有一个矩阵a,如下所示: A = 1 2 0 0 4 0 0 0 1 3 0 0 1 1 1 我想找出A列的索引,其中每列都有超过k-nonero元素。 我用过: 但它返回至少存在一个非零元素的列的索引 与其检查一行中的所有值是否为非零,不如计算有多少值为非零,然后应用阈值: k = 3 find(sum(A~=0,2)>=k) 返回: ans =
A =
1 2 0 0 4
0 0 0 1 3
0 0 1 1 1
我想找出A列的索引,其中每列都有超过k-nonero元素。
我用过:
但它返回至少存在一个非零元素的列的索引 与其检查一行中的所有值是否为非零,不如计算有多少值为非零,然后应用阈值:
k = 3
find(sum(A~=0,2)>=k)
返回:
ans =
1
3
与其检查一行中所有值的非零位置,不如计算其中的非零数量,然后应用阈值:
k = 3
find(sum(A~=0,2)>=k)
返回:
ans =
1
3
如果你一步一步地去做,可能会对你有所帮助。
首先,找出每列中非零元素的数量:
nNonZero = sum(A~=0)
然后查找大于k的列
find(nNonZero>k)
如果你一步一步地去做,可能会对你有所帮助。
首先,找出每列中非零元素的数量:
nNonZero = sum(A~=0)
然后查找大于k的列
find(nNonZero>k)