ここには 2 つのマトリックスがあり、1 つはコストを示し、もう 1 つはいつ比較するかを決定します。
cost = [0.2 0.0 0.3; 0.4 0 0; 0.5 0 0];
available = [1 1 0 ; 1 0 0; 0 0 0];
available = logical(available);
コスト マトリックスで利用可能な最小要素のインデックスを取得したいと考えています。この場合は を比較し0.2
、コスト マトリックス内のまたはのインデックスを返します。0.0
0.4
0.0
(1, 2)
4
私は試した
mul = cost .* available; % Zero if not available, but I can't know if it is zero because cost is zero
mul(~mul) = nan; % Set zero to be NaN
[minVal, minId] = min(mul)
これはゼロ以外の最小コストを取得するのに役立ちますが、利用可能な要素がゼロである場合は間違っています。
そうするためのより良い方法はありますか?