




已閱讀5頁(yè),還剩14頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
.,第十章:字符與字符串,張智星.tw.tw/jang清大資工系多媒體檢索實(shí)驗(yàn)室,.,本章簡(jiǎn)介,本章介紹MATLAB用于處理字符(Characters)與字符串(Strings)的指令及相關(guān)數(shù)據(jù)型態(tài)。MATLAB處理字符串的相關(guān)指令大部分都放在下列目錄之中:MATLAB根目錄toolboxmatlabstrfun其中的strfun就是代表StringFunctions。若要查詢(xún)與字符和字符串相關(guān)的指令,可在MATLAB下輸入:helpstrfun或是helpstrings,.,10-1字符與字符串的基本概念,數(shù)個(gè)字符(Characters)可以構(gòu)成一個(gè)字符串(Strings)一個(gè)字符串是被視為一個(gè)列向量(RowVector)進(jìn)行儲(chǔ)存此一字符串中的每一字符(含空格符),是以其ASCII碼的形式存放于此列向量中的每一個(gè)元素(Element),.,字符與字符串的基本概念,Matlab用單引號(hào)來(lái)界定字符串變量,多個(gè)字符串變量可直接并排,以得到一個(gè)新字符串變量,例如:范例10-2:string102.mstr3=IlikeMATLAB,JavaScript,andPerl!,.,字符與字符串的基本概念,欲輸入含有單引號(hào)的字符串,可重復(fù)單引號(hào)的使用若要計(jì)算字符串變量的長(zhǎng)度(即組成字符的個(gè)數(shù)),可用length指令范例10-4:string104.mans=16,.,字符串和其ASCIIcode,double指令:檢視字符串變量的儲(chǔ)存內(nèi)容(即ASCII內(nèi)碼)char指令:將ASCII內(nèi)碼轉(zhuǎn)回字符串形式范例10-6:string106.mphraseascii=Columns1through12733911810132103111116329732100Columns13through169711610133sentence2=Ivegotadate!,.,字符的儲(chǔ)存,無(wú)論是中文或英文,每一個(gè)字符都會(huì)占用兩個(gè)字節(jié)(2Bytes),故在上頁(yè)中,字符串變量sentence總共由16個(gè)字符構(gòu)成,占用的內(nèi)存總計(jì)為三十二個(gè)字節(jié)(32bytes)whos指令:檢視字符串變量sentence所占用儲(chǔ)存空間(whos變量)MATLAB是以?xún)蓚€(gè)字節(jié)來(lái)儲(chǔ)存一個(gè)字符,所以也可以支持Big5的中文碼,而且Big5中文的ASCII內(nèi)碼都會(huì)大于數(shù)字128由于MATLAB將字符串以其相對(duì)應(yīng)之ASCII內(nèi)碼(即數(shù)字形式)儲(chǔ)存成一列向量,故若對(duì)此字符串直接進(jìn)行數(shù)值運(yùn)算,MATLAB會(huì)先將此字符串轉(zhuǎn)成數(shù)值,再進(jìn)行一般數(shù)值向量的運(yùn)算,.,字符與字符串的基本概念-eval,eval指令:直接“執(zhí)行”某一特定字符串,其效果就如同直接在MATLAB指令窗口內(nèi)輸入此一特定字符串eval指令特別適用于在for-loop內(nèi)自動(dòng)產(chǎn)生有規(guī)律的變量名稱(chēng)范例10-11:string111.mNameSizeBytesClassx33x372doublearrayx44x4128doublearrayx55x5200doublearrayx66x6288doublearrayGrandtotalis86elementsusing688bytesx3,x4,x5,x6都是在for-loop中產(chǎn)生的變量,分別代表維度為33、44、55、66的魔方陣,.,字符串的判斷,class或ischar指令:判斷某一個(gè)變量是否為字符串范例10-12:string112.m字符串變量所占用的空間是同長(zhǎng)度雙精準(zhǔn)(Double)數(shù)值變數(shù)的四分之一,.,10-2一個(gè)變量來(lái)儲(chǔ)存多個(gè)字符串,第一種方法是使用二維字符數(shù)組(TwoDimensionalCharacterArrays)必須先確認(rèn)每個(gè)字符串(即每一橫列)的長(zhǎng)度一樣,否則就必須在短字符串結(jié)尾補(bǔ)上空格符范例10-13:string201.mdepartments=eecsecon,.,一個(gè)變量來(lái)儲(chǔ)存多個(gè)字符串,用char指令儲(chǔ)存多個(gè)字符串得到結(jié)果和前一個(gè)范例依樣;從二維字符數(shù)組抽取出字符串時(shí),切記要使用deblank指令來(lái)移除尾部的空格符范例10-15:string203.m.,.,一個(gè)變量來(lái)儲(chǔ)存多個(gè)字符串,當(dāng)字符串的長(zhǎng)度差異甚大,那么使用二維字符數(shù)組來(lái)儲(chǔ)存多個(gè)字符串,將造成內(nèi)存空間的浪費(fèi),怎么辦?異質(zhì)數(shù)組:使用大括號(hào)框住多個(gè)字符串,或用cellstr指令將字符數(shù)組轉(zhuǎn)換成異質(zhì)數(shù)組(string204.m,string205.m)若要將包含字符串的異質(zhì)數(shù)組轉(zhuǎn)換成一般的二維字符數(shù)組,還是可以使用char指令,.,10-3字符串的比較、尋找、代換、分解與結(jié)合,strcmp指令:用于比較字符串內(nèi)容的異同范例10-19:string301.m不相等回傳0,相等回傳1DIFFERENTtoC,.,字符串的比較和尋找,strncmp指令:用于比較字符串的前n個(gè)字符strcmp及strncmp指令亦可用于字符串異質(zhì)數(shù)組findstr指令:尋找在某一個(gè)長(zhǎng)字符串中的子字符串(Substrings),并傳回其起始位置strrep指令:用于字符串尋找及代換,例如:newString=strrep(string,pattern,pattern2),.,字符串的分解,strtok指令:根據(jù)一給定的分界字符(DelimitingCharacters),將一字符串拆解成數(shù)個(gè)字符串,預(yù)設(shè)分界字符為空格符strvcat指令:將拆解下來(lái)的字符串內(nèi)容(即儲(chǔ)存在字符串變量chopped中)加到二維字符數(shù)組parsed中范例10-24:string306.mparsed=eecseconstatme,.,字符串的結(jié)合,MATLAB在讀入中文字符串時(shí),將每一個(gè)中文字的2-byte分開(kāi)來(lái)讀,造成兩個(gè)中文字變成四個(gè)字符串元素xlate指令:將中文的2-byte結(jié)合在一起范例10-27:string309.mline2=我是Rogerans=7,.,10-4字符串、數(shù)值與數(shù)組的轉(zhuǎn)換,int2str指令:將整數(shù)型態(tài)的數(shù)據(jù)轉(zhuǎn)換成字符串?dāng)?shù)據(jù)例如:y=int2str(x),x為整數(shù),y為字符串num2str指令:將實(shí)數(shù)轉(zhuǎn)為字符串dec2hex指令:將10進(jìn)位數(shù)值數(shù)據(jù)轉(zhuǎn)換成16進(jìn)位的字符串表示法更多類(lèi)似指令如:hex2num,hex2dec,bin2dec.,.,字符串?dāng)?shù)組的轉(zhuǎn)換,mat2str指令可將矩陣轉(zhuǎn)換為字符串,此字符串若再經(jīng)由eval指令的使用,可再變回原先的矩陣范例10-32:string405.mB=121;356ans=1,.,字符串與數(shù)值的結(jié)合,sprintf指令:結(jié)合數(shù)值或字符串,以產(chǎn)生新字符串(%
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年度浙江省二級(jí)造價(jià)工程師之建設(shè)工程造價(jià)管理基礎(chǔ)知識(shí)測(cè)試卷(含答案)
- 2024年度浙江省二級(jí)造價(jià)工程師之建設(shè)工程造價(jià)管理基礎(chǔ)知識(shí)強(qiáng)化訓(xùn)練試卷B卷附答案
- 中職學(xué)生心理健康教育課件
- 腫瘤消融治療護(hù)理
- 行政年終個(gè)人工作總結(jié)
- 臨床護(hù)士分層培訓(xùn)
- 痔瘡的中醫(yī)護(hù)理
- 全網(wǎng)營(yíng)銷(xiāo)課程培訓(xùn)
- 腫瘤科敘事護(hù)理實(shí)踐體系
- 幼兒園小班美術(shù)教案制作紅綠燈
- 樂(lè)高機(jī)器人設(shè)計(jì)技巧(EV3結(jié)構(gòu)設(shè)計(jì)與編程指導(dǎo))
- 2024年度-《醫(yī)療事故處理?xiàng)l例》解讀
- 急診科科主任述職報(bào)告
- 《水電工程水土保持生態(tài)修復(fù)技術(shù)規(guī)范》
- 《茶食品與健康》課件
- 70歲以上的換領(lǐng)駕駛證三力測(cè)試題答案
- 藥品售后服務(wù)承諾書(shū)
- 露天礦防火安全知識(shí)講座
- 2024年山東煙臺(tái)財(cái)金集團(tuán)招聘筆試參考題庫(kù)含答案解析
- GB/T 43234-2023成型模斜導(dǎo)柱
- 馬工程版《中國(guó)經(jīng)濟(jì)史》各章思考題答題要點(diǎn)及詳解
評(píng)論
0/150
提交評(píng)論