2017-08-10 86 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