Thursday 15 August 2013

matlab - set matrix elements to 1 via vector -


मेरे पास एक सदिश है

  a = [1; 3];   

मेरे पास एक मैट्रिक्स है:

  बी = [0,0,0; 0,0,0];   

मैं उन मैट्रिक्स के वें तत्वों को सेट करना चाहता हूं जैसे कि

  B = [1,0,0; 0,0,1];   

मैं बिना किसी लूप के लिए कैसे कर सकता हूं?

आप इसके लिए sub2ind मटैब फ़ंक्शन का उपयोग कर सकते हैं। यह तथाकथित रैखिक सूचकांक बनाता है, जिसे आप पंक्ति-स्तंभ सूचकांकों के बजाय इंडेक्स मैट्रिक्स में उपयोग कर सकते हैं:

  बी मैट्रिक्स sz =% 2,3]; % स्तंभ सूचकांक = [1,3]; % पंक्ति इंडेक्स बी = [1: एसजे (1)]; % प्रारंभ बी बी = शून्य (एसजे); बीबी में% सेट मान (sub2ind (sz, b, a)) = 1 बी = 1 0 0 0 0 1   

यह अनिवार्य रूप से ओलेग द्वारा प्रस्तावित है, सिर्फ एक matlab का उपयोग करके बनाया गया एक हाथ में कर के बजाय रैखिक सूचकांक की गणना करने के लिए फ़ंक्शन यह दृष्टिकोण आपको पता करने की आवश्यकता नहीं है कि मैट्रिक्स आंतरिक रूप से कैसे संग्रहीत किया जाता है

No comments:

Post a Comment