MATLAB स्वचालित मेमोरी प्रबंधन के साथ गतिशील टाइपिंग का उपयोग करता है। इसका अर्थ यह है कि, इसका उपयोग करने से पहले आपको एक निश्चित आकार के मैट्रिक्स को घोषित करने की आवश्यकता नहीं है - आप इसे साथ बदल सकते हैं जैसे आप साथ जाते हैं और MATLAB गतिशील रूप से आपके लिए स्मृति आवंटित करेगा।
लेकिन यह रास्ता अधिक कुशल पहले मैट्रिक्स के लिए स्मृति को आबंटित करने और तो इसका इस्तेमाल होता है। लेकिन अगर आपके कार्यक्रमों को इस तरह की लचीलापन की आवश्यकता है, तो इसके लिए जाओ।
मुझे लगता है कि आपको अपने मैट्रिक्स में पंक्तियों को जोड़ने की आवश्यकता है। निम्नलिखित कोड काम करना चाहिए।
Matrix = [];
while size(Matrix,1) <= 10
Matrix = [Matrix;rand(1,2)];
end
disp(Matrix);
यहाँ, हम गतिशील अंतरिक्ष Matrix
के लिए हर बार जब आप एक नई पंक्ति जोड़ना आवश्यक पुनः दिए जा रहे हैं। यदि आप पहले से जानते हैं, तो कहें, पंक्तियों की संख्या पर ऊपरी बाउंड, आप Matrix = zeros(20,2)
घोषित कर सकते हैं और फिर प्रत्येक पंक्ति को मैट्रिक्स में वृद्धिशील रूप से सम्मिलित कर सकते हैं।
% Allocate space using the upper bound of rows (20)
Matrix = zeros(20,2);
k = 1;
for k = 1:10
Matrix(k,:) = rand(1,2);
end
% Remove the rest of the dummy rows
Matrix(k+1:end,:) = [];
इसके अलावा, अगर इस क्लास असाइनमेंट पर है और आप पुनरावृत्तियों दिखाने की जरूरत है; आप अपने यूलर कार्यान्वयन के भीतर sprintf का उपयोग कर सकते हैं। – ccook
एक और संबंधित प्रश्न: [एक खाली MATLAB मैट्रिक्स में वेक्टर जोड़ना] (http://stackoverflow.com/q/781410/97160) – Amro