0

行列の 3 番目の最大値を見つけたいです。私はすでに最大値を持っています

max(A)

そして、私はすでに2番目の最大値を持っています

max(A(A~=max(A))

しかし、私は3番目のものを行うことができません.アドバイスと助けをお願いします.

4

1 に答える 1

4

最も簡単な解決策は、値をA降順に並べ替え、3 番目に並べ替えられた要素 (存在する場合) を選択することです。

A_sorted = sort(A(:), 'descend');
third_max = A_sorted(min(3, end));

値の繰り返しを許可しない場合 (たとえば A = [10, 10; 9; 2]、2 が必要)、一意の値を並べ替えます。

A_sorted = sort(unique(A), 'descend');
于 2013-07-15T16:49:32.180 に答える