www.pudn.com > trackingdemos.zip > auction_2D.m


% auction_2D.m  
% 2-D auction algorithm, modified version of Yanhua Ruan's auc.m 
function [q,omiga,assign] = auction_2D(cost) 
 
[m, n] = size(cost); 
assign = zeros(m,1); 
 
if m>n 
    [q,omiga,assign_t]=auc(cost'); 
    omiga = omiga'; 
    for ind=1:m 
        if assign_t(ind) > 0  
            if cost(ind, assign_t(ind)) > 0 
                assign(assign_t(ind)) = ind; 
            else 
                q = q - cost(ind, assign_t(ind)); 
                omiga(ind, assign_t(ind)) = 0; 
            end 
        end 
    end 
else 
    [q,omiga,assign_t]=auc(cost); 
    for ind=1:n 
        if assign_t(ind) ~= 0 
            if cost(assign_t(ind), ind) > 0 
                assign(ind) = assign_t(ind); 
            else 
                q = q - cost(assign_t(ind), ind); 
                omiga(assign_t(ind), ind) = 0; 
            end 
        end 
    end         
end