MATLAB多重最大值

MATLAB多重最大值,matlab,max,Matlab,Max,我对MATLAB的最大值函数有问题。我应该做的是用一个数字替换数组的最大值。但是,当存在多个最大值时,程序会同时更新所有最大值。有没有办法让它一个接一个地做?更换的顺序并不重要;它可以任意完成。唯一重要的是让MATLAB一个接一个地做 先谢谢你 当你说超过1个最大值时,我假设你说的是一个矩阵,max函数对每一列都起作用 您可以执行以下操作: a = [1 1 2;5 5 7; 3 2 9] max(a) 显然,最大值将为9,但如果执行以下操作: a = [1 1 2;5 5 7; 3 2 9

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


先谢谢你

当你说超过1个最大值时,我假设你说的是一个矩阵,
max
函数对每一列都起作用

您可以执行以下操作:

a = [1 1 2;5 5 7; 3 2 9]
max(a)
显然,最大值将为9,但如果执行以下操作:

a = [1 1 2;5 5 7; 3 2 9]
max(a)
结果将是:

5 5 9
基于每个列

以下内容可能适合您

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

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

最大值的第二个输出返回一个索引:

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

“一个接一个”是什么意思?请提供示例数据和代码。a=[5];b=最大值(a);c=b-2;a=变化m(a,c,b);disp(a)运行此代码时,程序将更新向量a的第一行和第二行。因此,它打印[3]。我希望它打印的是[5,3]或[3,5]。有办法吗?请不要以评论的形式提供详细信息,而是编辑您的问题以改进。非常感谢。这似乎解决了我的问题。不过,我有一个简短的问题。你能解释一下(idx)代表什么以及它的作用吗?它返回一个最大值的索引。尝试一个更大的例子,其中第一个不是最需要理解的。