2011-03-09 13 views
9

संलग्न करने के लिए मेरे पास 2 डी सेल सरणी है। मैं निम्न कार्य करना चाहते हैं:सरल 2 डी सेल सरणी

y = some_number; 
row(x) = [row(x) another_row(y)]; 

हालांकि, पंक्ति (एक्स) परिभाषित नहीं है जब तक ऐसा होता है तो यह काम नहीं करता है! पंक्ति (x) को पंक्ति (x) पर परिभाषित नहीं किया जा सकता है जब मैं पंक्ति (x) पर एक और_row (y) को बस कैसे जोड़ूं?

क्षमा करें यह अन्य भाषाओं में करना आसान है लेकिन मुझे यकीन नहीं है कि MATLAB में कैसे!

धन्यवाद।

+0

यह बिल्कुल स्पष्ट नहीं है कि आप क्या करने की कोशिश कर रहे हैं। क्या आप पहले से ही अपने सरणी में क्या हो सकता है और आप इसके बाद में क्या बनना चाहते हैं इसका एक ठोस उदाहरण दे सकते हैं? या किसी अन्य भाषा में कुछ कोड जिसमें यह आसान है? –

उत्तर

15

आप पहली बार row प्रारंभ कर सकते हैं एक खाली सरणी (या सेल सरणी) होने के लिए इस प्रकार है:

row = []; %# Empty array 
row = {}; %# Empty cell array 

तो फिर तुम सरणी के लिए एक नई पंक्ति (या सेल सरणी के लिए एक नया सेल) जोड़ सकते हैं की तरह इसलिए:

row = [row; another_row(y)]; %# Append a row to the array 
row = [row; {another_row(y)}]; %# Append a cell to the cell array 

creating and concatenating matrices पर अधिक जानकारी के लिए प्रलेखन देखें।

यह भी ध्यान दिया जाना चाहिए कि इस तरह के बढ़ते सरणी बहुत कुशल नहीं हैं। Preallocating an array, यह मानते हुए कि आप अंतिम आकार के बारे में जानते हैं, यह एक बेहतर विचार है। यदि आप अंतिम आकार को नहीं जानते हैं, तो allocating array elements in chunks एक समय में एक पंक्ति आवंटित करने से अधिक कुशल होगा।

संबंधित मुद्दे