資源描述:
《MATLAB教案.ch04.字符串數(shù)組、元胞數(shù)組和構(gòu)架數(shù)組.doc》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、4字符串數(shù)組、元胞數(shù)組和構(gòu)架數(shù)組4.1字符串數(shù)組4.1.1字符串入門【*例4.1.1-1】先請讀者實際操作本例,以體會數(shù)值量與字符串的區(qū)別。clear%清除所有內(nèi)存變量a=12345.6789%給變量a賦數(shù)值標量class(a)%對變量a的類別進行判斷a_s=size(a)%數(shù)值數(shù)組a的“大小”a=1.2346e+004ans=doublea_s=11b='S'%給變量b賦字符標量(即單個字符)class(b)%對變量b的類別進行判斷b_s=size(b)%符號數(shù)組b的“大小”b=Sans=charb_s=11whos%觀察變量a,b在內(nèi)
2、存中所占字節(jié)NameSizeBytesClassa1x18doublearraya_s1x216doublearrayans1x48chararrayb1x12chararrayb_s1x216doublearrayGrandtotalis10elementsusing50bytes4.1.2串數(shù)組的屬性和標識【*例4.1.2-1】本例演示:串的基本屬性、標識和簡單操作。(1)創(chuàng)建串數(shù)組a='Thisisanexample.'a=Thisisanexample.(2)串數(shù)組a的大小size(a)ans=119(3)串數(shù)組的元素標識a14=
3、a(1:4)%提出一個子字符串ra=a(end:-1:1)%字符串的倒排a14=Thisra=.elpmaxenasisihT(4)串數(shù)組的ASCII碼ascii_a=double(a)%產(chǎn)生ASCII碼ascii_a=Columns1through128410410511532105115329711032101Columns13through191209710911210810146char(ascii_a)%把ASCII碼變回字符串a(chǎn)ns=Thisisanexample.(5)對字符串ASCII碼數(shù)組的操作%使字符串中字母全部大寫w
4、=find(a>='a'&a<='z');%找出串數(shù)組a中,小寫字母的元素位置。ascii_a(w)=ascii_a(w)-32;%大小寫字母ASCII值差32.用數(shù)值加法改變部分碼值。char(ascii_a)%把新的ASCII碼翻成字符ans=THISISANEXAMPLE.(6)中文字符串數(shù)組A='這是一個算例。';%創(chuàng)建中文字符串A_s=size(A)%串數(shù)組的大小A56=A([56])%取串的子數(shù)組ASCII_A=double(A)%獲取ASCII碼A_s=17A56=算例ASCII_A=Columns1through65475
5、45191153947473505219549405Column741379char(ASCII_A)%把ASCII碼翻譯成字符ans=這是一個算例。(7)創(chuàng)建帶單引號的字符串b='Example''4.1.2-1'''b=Example'4.1.2-1'(8)由小串構(gòu)成長串a(chǎn)b=[a(1:7),'',b,'.']%這里第2個輸入為空格串a(chǎn)b=ThisisExample'4.1.2-1'.4.1.1復雜串數(shù)組的創(chuàng)建4.1.1.1多行串數(shù)組的直接創(chuàng)建【*例4.1.3.1-1】多行串數(shù)組的直接輸入示例。clearS=['Thisstringa
6、rray''hasmultiplerows.']S=Thisstringarrayhasmultiplerows.size(S)ans=2184.1.1.2利用串操作函數(shù)創(chuàng)建多行串數(shù)組【*例4.1.3.2-1】演示:用專門函數(shù)char,str2mat,strvcat創(chuàng)建多行串數(shù)組示例。S1=char('Thisstringarray','hastworows.')S1=Thisstringarrayhastworows.S2=str2mat('這','字符','串數(shù)組','由4行組成')S2=這字符串數(shù)組由4行組成S3=strvcat('
7、這','字符','串數(shù)組','','由4行組成')%“空串”會產(chǎn)生一個空格行S3=這字符串數(shù)組由4行組成size(S3)ans=554.1.1.3轉(zhuǎn)換函數(shù)產(chǎn)生數(shù)碼字符串【*例4.1.3.3-1】最常用的數(shù)組/字符串轉(zhuǎn)換函數(shù)int2str,num2str,mat2str示例。(1)int2str把整數(shù)數(shù)組轉(zhuǎn)換成串數(shù)組(非整數(shù)將被四舍五入園整后再轉(zhuǎn)換)A=eye(2,4);%生成一個數(shù)值數(shù)組A_str1=int2str(A)%轉(zhuǎn)換成串數(shù)組。請讀者自己用size檢驗。A_str1=10000100(2)num2str把非整數(shù)數(shù)組轉(zhuǎn)換為串數(shù)組(常
8、用于圖形中,數(shù)據(jù)點的標識)rand('state',0)B=rand(2,4);%生成數(shù)值矩陣B3=num2str(B,3)%保持3位有效數(shù)字,轉(zhuǎn)換為串B3=0.950.6070.8910.4