




已閱讀5頁,還剩14頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
.,第十章:字符與字符串,張智星.tw.tw/jang清大資工系多媒體檢索實驗室,.,本章簡介,本章介紹MATLAB用于處理字符(Characters)與字符串(Strings)的指令及相關數(shù)據(jù)型態(tài)。MATLAB處理字符串的相關指令大部分都放在下列目錄之中:MATLAB根目錄toolboxmatlabstrfun其中的strfun就是代表StringFunctions。若要查詢與字符和字符串相關的指令,可在MATLAB下輸入:helpstrfun或是helpstrings,.,10-1字符與字符串的基本概念,數(shù)個字符(Characters)可以構成一個字符串(Strings)一個字符串是被視為一個列向量(RowVector)進行儲存此一字符串中的每一字符(含空格符),是以其ASCII碼的形式存放于此列向量中的每一個元素(Element),.,字符與字符串的基本概念,Matlab用單引號來界定字符串變量,多個字符串變量可直接并排,以得到一個新字符串變量,例如:范例10-2:string102.mstr3=IlikeMATLAB,JavaScript,andPerl!,.,字符與字符串的基本概念,欲輸入含有單引號的字符串,可重復單引號的使用若要計算字符串變量的長度(即組成字符的個數(shù)),可用length指令范例10-4:string104.mans=16,.,字符串和其ASCIIcode,double指令:檢視字符串變量的儲存內容(即ASCII內碼)char指令:將ASCII內碼轉回字符串形式范例10-6:string106.mphraseascii=Columns1through12733911810132103111116329732100Columns13through169711610133sentence2=Ivegotadate!,.,字符的儲存,無論是中文或英文,每一個字符都會占用兩個字節(jié)(2Bytes),故在上頁中,字符串變量sentence總共由16個字符構成,占用的內存總計為三十二個字節(jié)(32bytes)whos指令:檢視字符串變量sentence所占用儲存空間(whos變量)MATLAB是以兩個字節(jié)來儲存一個字符,所以也可以支持Big5的中文碼,而且Big5中文的ASCII內碼都會大于數(shù)字128由于MATLAB將字符串以其相對應之ASCII內碼(即數(shù)字形式)儲存成一列向量,故若對此字符串直接進行數(shù)值運算,MATLAB會先將此字符串轉成數(shù)值,再進行一般數(shù)值向量的運算,.,字符與字符串的基本概念-eval,eval指令:直接“執(zhí)行”某一特定字符串,其效果就如同直接在MATLAB指令窗口內輸入此一特定字符串eval指令特別適用于在for-loop內自動產(chǎn)生有規(guī)律的變量名稱范例10-11:string111.mNameSizeBytesClassx33x372doublearrayx44x4128doublearrayx55x5200doublearrayx66x6288doublearrayGrandtotalis86elementsusing688bytesx3,x4,x5,x6都是在for-loop中產(chǎn)生的變量,分別代表維度為33、44、55、66的魔方陣,.,字符串的判斷,class或ischar指令:判斷某一個變量是否為字符串范例10-12:string112.m字符串變量所占用的空間是同長度雙精準(Double)數(shù)值變數(shù)的四分之一,.,10-2一個變量來儲存多個字符串,第一種方法是使用二維字符數(shù)組(TwoDimensionalCharacterArrays)必須先確認每個字符串(即每一橫列)的長度一樣,否則就必須在短字符串結尾補上空格符范例10-13:string201.mdepartments=eecsecon,.,一個變量來儲存多個字符串,用char指令儲存多個字符串得到結果和前一個范例依樣;從二維字符數(shù)組抽取出字符串時,切記要使用deblank指令來移除尾部的空格符范例10-15:string203.m.,.,一個變量來儲存多個字符串,當字符串的長度差異甚大,那么使用二維字符數(shù)組來儲存多個字符串,將造成內存空間的浪費,怎么辦?異質數(shù)組:使用大括號框住多個字符串,或用cellstr指令將字符數(shù)組轉換成異質數(shù)組(string204.m,string205.m)若要將包含字符串的異質數(shù)組轉換成一般的二維字符數(shù)組,還是可以使用char指令,.,10-3字符串的比較、尋找、代換、分解與結合,strcmp指令:用于比較字符串內容的異同范例10-19:string301.m不相等回傳0,相等回傳1DIFFERENTtoC,.,字符串的比較和尋找,strncmp指令:用于比較字符串的前n個字符strcmp及strncmp指令亦可用于字符串異質數(shù)組findstr指令:尋找在某一個長字符串中的子字符串(Substrings),并傳回其起始位置strrep指令:用于字符串尋找及代換,例如:newString=strrep(string,pattern,pattern2),.,字符串的分解,strtok指令:根據(jù)一給定的分界字符(DelimitingCharacters),將一字符串拆解成數(shù)個字符串,預設分界字符為空格符strvcat指令:將拆解下來的字符串內容(即儲存在字符串變量chopped中)加到二維字符數(shù)組parsed中范例10-24:string306.mparsed=eecseconstatme,.,字符串的結合,MATLAB在讀入中文字符串時,將每一個中文字的2-byte分開來讀,造成兩個中文字變成四個字符串元素xlate指令:將中文的2-byte結合在一起范例10-27:string309.mline2=我是Rogerans=7,.,10-4字符串、數(shù)值與數(shù)組的轉換,int2str指令:將整數(shù)型態(tài)的數(shù)據(jù)轉換成字符串數(shù)據(jù)例如:y=int2str(x),x為整數(shù),y為字符串num2str指令:將實數(shù)轉為字符串dec2hex指令:將10進位數(shù)值數(shù)據(jù)轉換成16進位的字符串表示法更多類似指令如:hex2num,hex2dec,bin2dec.,.,字符串數(shù)組的轉換,mat2str指令可將矩陣轉換為字符串,此字符串若再經(jīng)由eval指令的使用,可再變回原先的矩陣范例10-32:string405.mB=121;356ans=1,.,字符串與數(shù)值的結合,sprintf指令:結合數(shù)值或字符串,以產(chǎn)生新字符串(%
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《人工智能應用:機器學習基礎與應用教案》
- 專利使用權協(xié)議
- 將進酒:古典詩歌情感探究教案
- 自然選擇的作用和含義深度解析教學教案
- 保護動物呼喚行動議論文(7篇)
- 生物化學分子生物學在線試題
- 汽車維修行業(yè)服務標準與規(guī)范
- 航空航天器制造產(chǎn)業(yè)報告表
- 一場激烈的辯論賽事件描寫(15篇)
- 中醫(yī)藥服務與鄉(xiāng)村社區(qū)健康治理融合模式
- 特許經(jīng)營合作合同
- 人教版九年級物理 14.3能量的轉化和守恒(學習、上課課件)
- 2024年網(wǎng)絡安全知識競賽考試題庫500題(含答案)
- 江蘇省徐州市賈汪區(qū)2023-2024學年七年級上學期期中考試數(shù)學試卷(含解析)
- 《港口粉塵在線監(jiān)測系統(tǒng)建設技術規(guī)范(征求意見稿)》編制說明
- 品質巡檢個人工作計劃
- 醫(yī)院采購委員會管理制度
- 設備管道 防腐保溫施工方案
- DZ∕T 0214-2020 礦產(chǎn)地質勘查規(guī)范 銅、鉛、鋅、銀、鎳、鉬(正式版)
- 校車安全行車記錄表
- QCSG1204009-2015電力監(jiān)控系統(tǒng)安全防護技術規(guī)范
評論
0/150
提交評論