这里我有两个矩阵,一个表示成本,另一个确定何时进行比较。
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)
这将有助于获得最小的非零成本,但如果存在可用的零元素,则会出现错误。
那么有更好的方法吗?
min
)。 - Eitan T