के लिए मैटलैब को अनुकूलित करने के लिए मेरे पास कोड के लिए यह निम्न लूप है (जो हिस्टोग्राम की गणना करता है)। मैं मटकाब में लिख रहा हूं। जैसा कि मैं मटकाब के लिए नया हूं, मुझे ऐसा करने के लिए किसी भी तेज तरीके से नहीं पता है। मैं वर्तमान मेंलूप
for i=1:size(b)
a(b(i)) = a(b(i)) + 1;
end
क्या ऐसा करने के लिए कोई तेज़ तरीका है, अधिमानतः उन लोगों को जिन्हें लूप की आवश्यकता नहीं है?
सामान्य टिप्पणी: [लंबाई] ('size' तुम अब क्या कर रहे हैं के लिए सही कार्य नहीं है, बल्कि का उपयोग http://www.mathworks.nl/help/matlab/ref/length.html) या [numel] (http://www.mathworks.nl/help/matlab/ref/numel.html)। –
विचार यह है कि फॉर-लूप अक्षम/धीमी हैं और यदि संभव हो तो प्रतिस्थापित किया जाना चाहिए असंभव है। भले ही आप इस कोड को तेज़ी से कुछ बदल सकते हैं, तो आप शायद एक सेकंड के केवल एक अंश को बचाएंगे। यह कोड अनुकूलन का स्तर नहीं है जिसके बारे में आपको चिंतित होना चाहिए। – Kavka
@ क्वका इस प्रकार के लूप के बारे में चिंता करते हुए, मैं सहमत होगा। बड़े मैट्रिस में हेरफेर करने वाले लूप के लिए एक और जटिल वेक्टरिंग के लायक होगा, है ना? मैटलैब को मैट्रिस के साथ काम करने के लिए डिज़ाइन किया गया था - इसके सभी मैट्रिक्स ऑपरेशंस को अनुकूलित किया जाना चाहिए। – Derek