在循环中找到一个位置可以找到最高的数字,但需要它的位置

时间:2014-03-10 05:18:51

标签: matlab

我有这个代码,我打印出“数字”和“值”,其中值是它从循环中获得的顺序。

我能够从“数字中获得最高数字,但无法找到打印出”VALUE“的方法,或者将其定位在例如:

number =

     3     5     5     4

Value 1 has 3  number 
Value 2 has 6  number 
Value 3 has 5  number 
Value 4 has 4  number 

highest =    6

我想让我说出来

值2有6个数字

它可以通过使用max(数字)轻松找到6但是我怎样才能在循环中找到它的位置? 如果我们有2个数字相等就可以说两个位置

是什么情况

这是我的代码

number
len= length(number);

%for aligning and display loop
x=1;
while x<=len
    fprintf('Value %x has %d  number \n',x,number(x))
    x=x+1;
end 

highest = max(number)

1 个答案:

答案 0 :(得分:4)

尝试使用,

[high, pos] = max(number);

而不是highest = max(number);

其中high是最大的数字,pos是您需要的值。