MATLAB 多个最大值

MATLAB Multiple Maximum Values

我对 MATLAB 的最大函数有疑问。我应该做的是用数字替换数组的最大值。但是,当存在多个最大值时,程序会同时更新所有最大值。有没有办法让它一个一个做呢?替换的顺序并不重要;它可以任意完成。唯一重要的是让MATLAB一一道来。

提前谢谢你。

当你说超过 1 个最大值时,我假设你是在谈论一个矩阵,其中 max 函数在每一列上运行?

您可以执行以下操作:

a = [1 1 2;5 5 7; 3 2 9]

显然,最大值将为 9,但如果您执行以下操作:

max(a)

结果将是:

5 5 9

基于每一列。

以下可能适合您?

max(a(:)) % Maximum value from a matrix (rerranged into 1 column)

您可以对 min 函数执行相同的操作。

max第二个输出returns一个索引:

a=[5,5];
[b,idx]=max(a)
c=b-2;
a(idx)=c