满足特定标准的最小MATLAB指标

满足特定标准的最小MATLAB指标,matlab,Matlab,假设我有一个矩阵 A= [1 2 3 2 5 5 4 6 2] 我想从特定的列范围中找到最大值的索引,由向量a_index=[1 0 1]给出,意思是从第1列和第3列中找到最大值。这个最大值是5。如何找到它的索引,即行=2列=3。注意5也出现在第2列中,但我不想要它 如果使用普通的“find”,则无法获得正确的解决方案将a中不需要的列的元素替换为NaN。然后使用查找最大元素的线性索引。最后,使用将线性索引转换为行和列下标 在≥ R2016b,第二行可以用隐式扩展写入: A =

假设我有一个矩阵

A= [1 2 3
    2 5 5
    4 6 2]
我想从特定的列范围中找到最大值的索引,由向量
a_index=[1 0 1]
给出,意思是从第1列和第3列中找到最大值。这个最大值是5。如何找到它的索引,即行=2列=3。注意5也出现在第2列中,但我不想要它
如果使用普通的“
find
”,则无法获得正确的解决方案

a
中不需要的列的元素替换为
NaN
。然后使用查找最大元素的线性索引。最后,使用将线性索引转换为行和列下标


在≥ R2016b,第二行可以用隐式扩展写入:

A = A.*A_index;
最后两行也可以写成:

[r,c] = find(A==max(A(:)));

NaN
替换
A
中不需要的列的元素。然后使用查找最大元素的线性索引。最后,使用将线性索引转换为行和列下标


在≥ R2016b,第二行可以用隐式扩展写入:

A = A.*A_index;
最后两行也可以写成:

[r,c] = find(A==max(A(:)));
不管你觉得哪个更好