1

MATLAB で対処する必要がある次の問題があります。

すべての n に対して要素の合計が常に 1 になるように定義されている n 行 n 列の行列が与えられます。行列を行列 A と呼び、別の行列 (行列 B と呼びます) に変換したいと思います。この行列の要素の合計も 1 になります。ただし、行列 B の要素は異なります。任意のユニットを移動するための「コスト」は、マトリックスに沿った水平方向および垂直方向の移動数 * 堆積と定義されます。例えば、

1 0 0            0.2   0    0
0 0 0    to       0    0.3  0
0 0 0            0.5   0    0

私のコストは 1.6 です。これは、合計コスト 0.6 に対して 0.3 2 ユニット (下に 1 つ、右に 1 つ) 移動し、合計コスト 1 に対して 0.5 2 ユニット下に移動したためです。

さまざまなエントリが分散した 19 x 19 のマトリックスに対してこれを行う必要があります。これをどのように実行しますか?これが最小コスト フロー問題の解決策であることは理解していますが、MATLAB での実装に問題があります。

4

0 に答える 0