假设我有一个数组a = [2 5 4 7]
。返回最大值及其索引的函数是什么?
例如,在我的情况下,函数应该返回7作为最大值,4作为索引。
答案 0 :(得分:67)
该功能为max
。要获得第一个最大值,你应该做
[val, idx] = max(a);
val
是最大值,idx
是其索引。
答案 1 :(得分:10)
对于矩阵,您可以使用:
[M,I] = max(A(:))
我是包含最大元素的A(:)的索引。
现在,使用ind2sub函数提取对应于最大元素的A的行索引和列索引。
[I_row, I_col] = ind2sub(size(A),I)
答案 2 :(得分:6)
如果是2D数组(矩阵),您可以使用:
[val, idx] = max(A, [], 2);
idx部分将包含包含每行最大元素的列号。
答案 3 :(得分:4)
您可以使用max()来获取最大值。 max函数还可以返回向量中最大值的索引。为此,将调用的结果分配给两个元素向量而不是单个变量。
e.g。 z是你的数组,
>> [x, y] = max(z)
x =
7
y =
4
这里,7是第4位(指数)的最大数字。
答案 4 :(得分:4)
3D案例
修改Mohsen对3D阵列的回答:
[M,I] = max (A(:));
[ind1, ind2, ind3] = ind2sub(size(A),I)
答案 5 :(得分:0)
这将返回矩阵中的最大值
max(M1(:))
这将返回该值的行和列
[x,y]=ind2sub(size(M1),max(M1(:)))
对于最小值,只需将单词max与min互换即可。
答案 6 :(得分:0)
例如:
const saveSettings = async (settings) => {
setSettings(settings);
}