2017-08-10 76 views
2

我在MATLABMATLAB最大值

关于max命令一个问题让我们说我有xy矩阵:

x = [1 2 3 4 5 6 7 8 9] 
y = [1 4 6 2 3 64 7 67 6] 

现在,我知道如何找到x值在这y最大

xIndex = find(y==max(y)); 
maxXValue = x(xIndex); 

这样的事情..

我的问题是:

  • 我必须plot(x, y),以便找到x值在这y是最大?
  • 有没有什么方法可以找到没有绘图的价值?
  • 我想找到它无需绘制(或至少情节但实际上没有显示它)

回答

1

max/min第二输出是在该该值发生在阵列中的索引。假设xy共享指数,您可以使用它来映射这两者之间的关系。

例如:

x = [1 2 3 4 5 6 7 8 9]; 
y = [1 4 6 2 3 64 7 67 6]; 

[miny, minidx] = min(y); 
[maxy, maxidx] = max(y); 

fprintf('Ymin: %d, Xval: %u\nYmax: %d, Xval: %u\n', miny, x(minidx), maxy, x(maxidx)) 

返回:

Ymin: 1, Xval: 1 
Ymax: 67, Xval: 8 
0

您可以使用逻辑索引,以获得相应的最大Y直接像这样的x值(S):

x(y==max(y)) 

如果有重复的最大值y那么你会得到每个匹配/相应的值还有x