2009-12-05 6 views
10

मैं एक सरणी कैसे बना सकता हूं जो एक प्रारंभ बिंदु, एक अंत बिंदु, और कुल सरणी आकार के साथ परिभाषित किया गया है? एक सरणी की तरह कुछ जो 1 से 10 तक जाता है जो 20 तत्व लंबा होता है।मैं MATLAB में मूल्यों की नियमित-दूरी वाली सरणी कैसे बना सकता हूं?

1 1.5 2 2.5 3 3.5 ... 
+0

नमूना वेक्टर आप दे में हो सकता है, 0.5 के चरणों में 1 से 10 तक चलती होगा आपको 1 9 तत्व वेक्टर दें, 20 नहीं। – gnovice

+0

1 9 - मैंने अपनी उंगलियों पर गिना। मेरा अबाउटस नहीं मिला। – Doresoom

उत्तर

18

वहाँ रहे हैं:

  • का उपयोग उदाहरण के लिए, सरणी की तरह कुछ दिखाई दे सकता है colon operator:

    startValue = 1; 
    endValue = 10; 
    nElements = 20; 
    stepSize = (endValue-startValue)/(nElements-1); 
    A = startValue:stepSize:endValue; 
    
  • linspace समारोह (के रूप में Amro ने सुझाव दिया) का उपयोग करना:

    startValue = 1; 
    endValue = 10; 
    nElements = 20; 
    A = linspace(startValue,endValue,nElements); 
    

ध्यान रखें कि जिसके परिणामस्वरूप सरणियों में तत्वों की संख्या अंत अंक भी शामिल है। उपर्युक्त उदाहरणों में, सर तत्व मानों के बीच अंतर 9/19 होगा, या 0.5 से कम (प्रश्न में नमूना सरणी के विपरीत) होगा।

10

linspace रैखिक दूरी पर उत्पन्न वैक्टर:

कई तरीकों से आप यह कर सकते हैं
>> A = linspace(1, 10, 20-1) 
ans = 
1 1.5 2 2.5 3 3.5 ... 9.5 10 
+0

एनबी। 'लिन्स स्पेस आउटपुट * पंक्ति * वैक्टर; यहां अनुकूलन भूमि में, सभी वैक्टर कॉलम वैक्टर हैं। सावधान रहना। – shabbychef

+2

ओपी 20 तत्वों के साथ एक सरणी बनाना चाहता है और आप कुछ नगण्य अनुकूलन (जो मामला भी नहीं हो सकता है !!) – Amro

5

सरल एक-लाइनर!

1:0.5:10; 

आउटपुट:

1 1.5 2 2.5 ... 9 9.5 10 

ध्यान दें कि यह एक 19 तत्व वेक्टर, नहीं 20.

+0

नहीं, यह एक * 1 9-तत्व * वेक्टर होगा। इसमें पूर्णांक 1 से 10 (जिनमें से 10 हैं) शामिल होंगे, साथ ही पूर्णांक की प्रत्येक जोड़ी के बीच मध्यबिंदुओं (जिसमें 9 हैं) शामिल हैं। – gnovice

+0

@gnovice: सिर के लिए धन्यवाद। – Zaid