私は Matlab を初めて使用しますが、ドキュメントをトロールしましたが、探しているものに対する答えが見つかりません。
私はマトリックスで多くの計算を行いましたが、インデックスのリストとそれらのインデックスに入る値のリストになりました。
例えば:
Data =
0 0 0 0 0 0
3.7417 3.7417 3.7417 7.0711 3.3166 3.3166
4.2426 4.2426 3.7417 7.0711 5.3852 7.0711
7.0711 6.0828 5.3852 7.4833 6.0828 7.6158
7.1414 7.4833 7.8740 8.7750 7.1414 7.8740
と
Indices =
1 2 3 4 5 6
3 3 1 1 6 5
2 1 2 6 3 4
4 5 5 2 2 2
5 4 6 5 1 3
私ができるようにしたいのは、正方行列 (インデックス行列で見つかった最大値のインデックスに基づくサイズ n) を構築することです。これにより、Indices
最初の列が行列の最初の行のインデックスに使用されResult
、値がofは、0 に設定されたデータでインデックス付けされていないすべての場所で、行列Data
の対応する場所に配置されます。Result
つまり、上記のデータとインデックスのマトリックスを使用して、最終的なマトリックスを次のようにします。
Result =
0 4.2426 3.7417 7.0711 7.1414 0
4.2426 0 3.7417 7.4833 6.0828 0
3.7417 3.7417 0 0 5.3852 7.8740
7.0711 7.4833 0 0 8.7750 7.0711
7.1414 6.0828 5.3852 0 0 3.3166
0 7.6158 7.8740 7.0711 3.3166 0
(上記は手で行ったので間違いがあるかもしれませんが、私がやりたいことのアイデアを提供するはずです)
Matlabでこれを行うための簡単で簡単な方法はありますか? 多くの関数がインデックスを返すため、これらのインデックスを使用してマトリックスを更新/構築する簡単な方法があることを望んでいました。
ありがとう、
グレッグ