如何在向量中找到特定值的索引?

时间:2016-06-03 09:28:00

标签: matlab

我有一个叫做pr的100 * 20矩阵(在我的情况下是功率接收)100代表用户数量和每个用户从20个天线接收一定功率的20个天线数量。(不止一个用户可以从相同的天线)。 然后我找到每个用户接收的最大功率并将其放入100 * 1向量中如果此最大值大于(-112)计数器增加。我需要创建新的向量20 * 1,其中20是天线数,并计算每个天线接收功率大于(-112)的用户数

[master_ant,id]=max(pr,[],2); %find vector of max values and vector of the corresponding index
  for i=1:100
if(master_ant(i)>=-112) %check the rang
    covered_user=covered_user+1;%counter increment
end
end

我试过这个

[master_ant,id]=max(pr,[],2);
  for i=1:100
if(master_ant(i)>=-112)
    covered_user(id)=covered_user(id)+1;

1 个答案:

答案 0 :(得分:2)

最简单的方法是考虑另一种方法。函数sum实际上(并且应该)为您完成所有工作。

a = randi([-130, -60],100,20); % Example matrix
covered_user = sum(a>=-112); % One-liner solution