में न्यूनतम तत्व की अनुक्रमणिका पाएं यहां मेरे पास दो मैट्रिक्स हैं, एक लागत का संकेत है और दूसरा यह निर्धारित करता है कि तुलना में कब लिया जाए।matlab
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')। –