我对MATLAB中的max
命令有疑问
我们说我有x
和y
矩阵:
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
值?答案 0 :(得分:1)
max
/ min
的第二个输出是数组中出现该值的索引。假设x
和y
共享索引,您可以使用它来在两者之间进行映射。
例如:
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
答案 1 :(得分:0)
您可以使用逻辑索引直接获取与最大y对应的x值:
x(y==max(y))
如果y
的最大值重复,那么您将获得x
的每个匹配/对应值。