मान लीजिए कि मेरे पास m x n
मैट्रिक्स ए है।
B
, (n x m) x n
मैट्रिक्स बनाने का कोई तरीका है जिसका "विकर्ण" A
के कॉलम द्वारा बनाया गया है?कॉलम से ब्लॉक विकर्ण मैट्रिक्स
उदाहरण:
A = [1 2;
3 4]
B = [1 0;
3 0;
0 2;
0 4]
मान लीजिए कि मेरे पास m x n
मैट्रिक्स ए है।
B
, (n x m) x n
मैट्रिक्स बनाने का कोई तरीका है जिसका "विकर्ण" A
के कॉलम द्वारा बनाया गया है?कॉलम से ब्लॉक विकर्ण मैट्रिक्स
उदाहरण:
A = [1 2;
3 4]
B = [1 0;
3 0;
0 2;
0 4]
यहाँ एक तरीका है:
mat2cell
का उपयोग कर, अपने कॉलम की एक cell array में कनवर्ट A
;blkdiag
पर इनपुट के रूप में उपयोग करें।कोड:
A = [1 2; 3 4]; %// example data
C = mat2cell(A, size(A,1), ones(1,size(A,2))); %// step 1
B = blkdiag(C{:}); %// step 2
यह
B =
1 0
3 0
0 2
0 4
पैदा करता है यहाँ एक छोटी स्क्रिप्ट यह पूरा करने के लिए है। यह ए
A=[1 2; 3 4];
[R C] = size(A);
for i=1:C
B(1+R*(i-1) : R*i , i) = A(:,i);
end
आपका उदाहरण मेल नहीं खाता है, आप 2 एम x n – Daniel
के साथ समाप्त हो गए हैं, आप सही हैं! ठीक कर दिया! धन्यवाद –