我有一个载体
E = [ 2.91082 , 0.14735, 0.92122, 0.02061 ]
现在,我设置阈值T = 0.95,这意味着
T = ( 2.91082 + 0.92122)/(2.91082 + 0.14735 + 0.92122 + 0.02061 )=0.958>0.95
然后,我可以选择E [1]和E [3]作为选定值。
你能告诉我我该怎么办?
答案 0 :(得分:1)
使用bsxfun
作为矢量化解决方案 -
[R,C] = find(triu(bsxfun(@plus,E,E.')./sum(E),1) > 0.95)
示例运行 -
>> E = [ 2.91082 , 0.14735, 0.92122, 0.02061 ];
>> triu(bsxfun(@plus,E,E.')./sum(E),1) '%// T values
ans =
0 0.76454 0.95801 0.73286
0 0 0.26714 0.04199
0 0 0 0.23546
0 0 0 0
>> [R,C] = find(triu(bsxfun(@plus,E,E.')./sum(E),1) > 0.95)
R =
1
C =
3