Matlab中find函数的使用

一.问题来源

  看到了

min_score_pos = find(A0_scores==min(A0_scores), 1);

  [r,c] = find(X,k),返回X中第k个非零元素的行列位置。

二.试验

K>> a = [1 4 5 69 8 3 23]
a =
     1     4     5    69     8     3    23
K>> a == min(a)
ans =
     1     0     0     0     0     0     0
K>> find(ans,1)
ans =
     1

  试验发现,返回的是a中最小元素所在的位置。

三、求非0元素的个数

a = [1 2 0 3 0];
find(a~=0)得到 1 2 4,那么sum(find(a~=0))得到7
a~=0得到1 1 0 1 0
那么sum(a~=0)得到3 这个是对的

 还可以这样[~,n] = size(find(a~=0));或者这样的话不能直接取第二个返回值,那么可以length(find(a~=0))。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值