2012-11-03 11 views
5

संभव डुप्लिकेट:
convert string to number array in matlabMatlab, एक वेक्टर में पूर्णांक की स्ट्रिंग को कैसे परिवर्तित करें?

वहाँ Matlab में एक आसान तरीका इस तरह एक वेक्टर में इस

'123456789' 

इस तरह की स्ट्रिंग परिवर्तित करने के लिए है?

[1 2 3 4 5 6 7 8 9] 

उत्तर

9

यदि आप केवल इतना है सन्निहित पात्रों से 0 से 9 तक है:

v = double(s)-'0'; 

डबल (रों) एक सरणी जहां प्रत्येक तत्व इसी चरित्र की ASCII कोड है में एक स्ट्रिंग बदल देता है। संख्यात्मक मान प्राप्त करने के लिए हम '0' घटाते हैं (जो असल में एएससीआईआई में 48 है) और चूंकि अंक ASCII कोड ('1' = 49, '2' = 50, आदि) में अनुक्रमिक प्रतिनिधित्व करते हैं, हम इरादे से समाप्त होते हैं परिणाम।

+0

वास्तव में डबल आवश्यक नहीं लगता है। एस - '0' पर्याप्त होगा। @pedrosorio – iab

5

इस के लिए regexp का उपयोग करने का एक तरीका होगा। लेकिन निश्चित रूप से यह केवल एक अंक संख्या के लिए काम करता है।

>> str = '123456789'; 
>> num = regexp(str,'\d') 

num = 

1  2  3  4  5  6  7  8  9 
संबंधित मुद्दे