1

サイズ [8,8] のマトリックスで最大値の座標のセットを見つける方法を見つけようとしています。ここで、マトリックスの値は 0 から 6 まで変化します (残りのスクリプトによって生成されます)。 /関数)。

つまり、値 1 が [3,3]、[3,5]、および [5,3] にあるゼロ (8,8) の行列です。そして、([3,3]、[3,5]、[5,3]) の行に沿って何かを返したいと思っています。同様に [I,J] = [ [0,0,3,0,5,0,0,0] , [1,1,1,1,1,1,1,1] ])

何か案は?さらに説明が必要な場合は、必要な場所を指摘してください。喜んでそうします。

4

1 に答える 1

3

これまでの問題maxは、1 つの次元で動作するためです。デフォルトのパラメーターを使用してマトリックスで呼び出すと、マトリックスの各列に対して単一の最大要素 (およびインデックス) が返されます。あなたの場合、すべての最大値とそのグローバル最大値が必要です。

これを試して:

[I,J] = find(M == max(M(:)))

まず、最大要素を見つけ、次にどの要素が最大かを示すmax(M(:))論理行列を作成します。M == max(M(:))最後に、findこれらの座標を取得するために使用できます (必要な場合)。

于 2013-06-06T22:27:39.600 に答える