2012-10-01 34 views
7

द्वारा मैट्रिक्स के प्रत्येक कॉलम को गुणा करें मेरे पास M x N मैट्रिक्स है। मैं मैट्रिक्स द्वारा N कॉलम में से प्रत्येक को गुणा करना चाहता हूं। निम्नलिखित लूप में यह करता है, लेकिन मुझे नहीं पता कि इसे कैसे सदिश बनाना है।किसी अन्य मैट्रिक्स

u=repmat(sin(2*pi*f*t),[n 1]); 
W = rand(n); 
answer = size(u); 
for i=1:size(u,2) 
    answer(:,i) = W*u(:,i); 
end 

उत्तर

13

आप बस दो मैट्रिक्स गुणा करने की आवश्यकता:

answer = W*u; 

इसके बारे में सोचो: अपने पाश के हर चरण में आप एक वेक्टर द्वारा एक मैट्रिक्स गुणा। उस ऑपरेशन का नतीजा एक वेक्टर है, जिसे आप कॉलम i में अपने उत्तर में सहेजते हैं। मैट्रिक्स गुणा एक समान बात है: आप इसे वैट्रिक्स के एक सेट द्वारा मैट्रिक्स (डब्ल्यू) के गुणा के रूप में समझ सकते हैं, जो आपके मैट्रिक्स को बनाते हैं।

तो आपका कोड अच्छा है, बस लूप को हटाएं :)

+2

सुनिश्चित नहीं है कि बस बाहर निकला या वास्तव में मंद हो गया है। :-) धन्यवाद। – mac389