में बहुत बड़ी matrices के कुशल गुणात्मकता मेरे पास एक विकर्ण डी-बाय-डी मैट्रिक्स बनाने के लिए पर्याप्त स्मृति नहीं है, क्योंकि डी बड़ा है। मैं 'स्मृति से बाहर' त्रुटि प्राप्त करता रहता हूं।MATLAB
पहले गुणा में एम एक्स डी एक्स डी संचालन करने के बजाय, मैं एम एक्स डी ऑपरेशंस करता हूं, लेकिन फिर भी मेरे कोड को चलाने के लिए उम्र लगती है।
क्या किसी को गुणा A'*B*A
गुणा करने के लिए एक और अधिक प्रभावी तरीका मिल सकता है? (एम प्रतियों के साथ
D=20000
M=25
A = floor(rand(D,M)*10);
B = floor(rand(1,D)*10);
for i=1:D
for j=1:M
result(i,j) = A(i,j) * B(1,j);
end
end
manual = result * A';
auto = A*diag(B)*A';
isequal(manual,auto)
मैं उलझन में हूं। क्या मैट्रिक्स बी डी-बाय-डी या एम-बाय-एम होना चाहिए? आपकी छवि पूर्व कहती है लेकिन आपका कोड बाद वाले को सुझाव देता है। – gnovice
अच्छी तरह से देखा गया, अब – matcheek
को सही किया गया है, क्या आप ए '* बी * ए की गणना करने की कोशिश कर रहे हैं, जो आपको एम-बाय-एम परिणाम देगा? – gnovice