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