matlab之在数据组中找到与某数最接近的元素或其下标
这个问题有点绕. 给个具体的例子:
有数组A:
>> A=rand(1,10)A =0.1622 0.7943 0.3112 0.5285 0.1656 0.6020 0.2630 0.6541 0.6892 0.7482
那么给定一个数B=0.5, 求A中哪个数最接近0.5?
思路: 把A与B相减, 看看哪个差最小, 哪个就与B最接近.
>> C=abs(A-B);
>> C_min=min(C)C_min =0.0285
>> [row, col]=find(C==C_min)row =1col =4
>> A(4)ans =0.5285
也就是说第四个就是与0.5最接近的数.
此方法对于矩阵亦适用. 比如需要找的B是多个值[0.5,0.3].
>> C=abs(A'-B);
>> C_min=min(C)C_min =0.0285 0.0112>> [row, col]=find(C==C_min);
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
