2010-10-15 14 views
7

में विभिन्न मानों से मैट्रिक्स की पंक्तियों को विभाजित कैसे किया जाए, मान लीजिए कि मेरे पास मैट्रिक्स M = ones(3); है और मैं प्रत्येक पंक्ति को एक अलग संख्या से विभाजित करना चाहता हूं, उदाहरण के लिए, C = [1;2;3];MATLAB (सरणी विभाजन)

1 1 1 -divide_by-> 1  1 1 1 
1 1 1 -divide_by-> 2 = 0.5 0.5 0.5 
1 1 1 -divide_by-> 3  0.3 0.3 0.3 

मैं लूप का उपयोग किए बिना यह कैसे कर सकता हूं?

उत्तर

6

उपयोग सही सरणी विभाजन प्रलेखित here

result = M./C 

जबकि सी निम्नलिखित रूप है के रूप में:

C = [ 1 1 1 ; 2 2 2 ; 3 3 3 ]; 

संपादित करें:

result = bsxfun(@rdivide, M, [1 2 3]'); % untested ! 
+0

मैंने पहले कि प्रलेखन के माध्यम से चला गया। फिर भी, उन्होंने स्पष्ट रूप से कहा कि दोनों मैट्रिक्स में समान आयाम होना चाहिए। यह मामला नहीं है। मैं भी सोच रहा था: क्या तत्व विभाजन द्वारा तत्व निष्पादित करने के लिए वेक्टर को एक ही आकार के मैट्रिक्स में विस्तार करना संभव है? – adn

+3

पहला मूल रूप से 'एम।/रिपमैट (सी, 1,3) 'है। एक अतिरिक्त समाधान है: 'एम ./ (सी * वाले (1,3)) ', हालांकि मैं बीएसएक्सएफयूएन का उपयोग करना पसंद करता हूं। – Amro