MATLAB課件-第六章-字符串、單元數(shù)組和結(jié)構(gòu)體_第1頁(yè)
MATLAB課件-第六章-字符串、單元數(shù)組和結(jié)構(gòu)體_第2頁(yè)
MATLAB課件-第六章-字符串、單元數(shù)組和結(jié)構(gòu)體_第3頁(yè)
MATLAB課件-第六章-字符串、單元數(shù)組和結(jié)構(gòu)體_第4頁(yè)
MATLAB課件-第六章-字符串、單元數(shù)組和結(jié)構(gòu)體_第5頁(yè)
已閱讀5頁(yè),還剩53頁(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)介

第6章字符串、單元數(shù)組和結(jié)構(gòu)體MATLABR2007基礎(chǔ)教程清華大學(xué)出版社教學(xué)目標(biāo)教學(xué)重點(diǎn)教學(xué)內(nèi)容1/4/20231第6章字符串、單元數(shù)組和結(jié)構(gòu)體MATLABR2007基礎(chǔ)教學(xué)目標(biāo)掌握字符串的生成及操作掌握單元數(shù)組的生成及操作掌握結(jié)構(gòu)體的生成及操作1/4/20232教學(xué)目標(biāo)掌握字符串的生成及操作12/18/20222教學(xué)重點(diǎn)字符串單元數(shù)組結(jié)構(gòu)體1/4/20233教學(xué)重點(diǎn)字符串12/18/20223教學(xué)內(nèi)容字符串單元數(shù)組結(jié)構(gòu)體1/4/20234教學(xué)內(nèi)容字符串12/18/20224字符串的生成(1/2)字符串的生成MATLAB中的字符串為ASCII值的數(shù)值數(shù)組,作為字符串表達(dá)式進(jìn)行表示。在MATLAB中,生成字符串的方法為stringname=’thecontentofthestring’。1/4/20235字符串的生成(1/2)字符串的生成12/18/20225字符串的生成(2/2)字符串是一個(gè)ASCII碼的字符數(shù)組,因此,與普通數(shù)組一樣,字符串也可以形成矩陣(表現(xiàn)為一個(gè)字符串有多行)。但是,這些行必須有相同數(shù)目的列數(shù)。另外,使用char函數(shù)可以創(chuàng)建長(zhǎng)度不一致的字符串矩陣。char函數(shù)自動(dòng)將所有字符串的長(zhǎng)度設(shè)置為輸入字符串中長(zhǎng)度的最大值。1/4/20236字符串的生成(2/2)字符串是一個(gè)ASCII碼的字符數(shù)字符串的操作字符串的顯示 字符串的顯示有兩種方式:直接顯示和利用disp函數(shù)進(jìn)行顯示。字符串的執(zhí)行 在MATLAB中可以用函數(shù)eval來(lái)執(zhí)行字符串。1/4/20237字符串的操作字符串的顯示12/18/20227字符串的運(yùn)算字符串的運(yùn)算主要包括:判斷字符串是否相等通過(guò)字符串運(yùn)算來(lái)比較字符串中的字符進(jìn)行字符分類(lèi)、查找與替換字符串與數(shù)值數(shù)組之間的相互轉(zhuǎn)換函數(shù)名函數(shù)用途函數(shù)名函數(shù)用途strcat橫向連接字符串strvcat縱向連接字符串strcmp字符串比較strncmp比較字符串的前n個(gè)字符findstr字符串查找strjust字符串對(duì)齊strmatch字符串匹配strrep字符串查找與替換strtok選擇字符串中的部分blanks創(chuàng)建由空格組成的字符串deblank刪除字符串結(jié)尾的空格ischar判斷變量是否為字符串iscellstr判斷字符串單元數(shù)組isletter判斷數(shù)組是否由字母組成isspace判斷是否空格stringsMATLAB字符串句柄1/4/20238字符串的運(yùn)算字符串的運(yùn)算主要包括:函數(shù)名函數(shù)用途函數(shù)名函數(shù)用字符串的比較(1/3)字符串的比較主要為比較兩個(gè)字符串是否相同,字符串中的子串是否相同和字符串中的個(gè)別字符是否相同。用于比較字符串的函數(shù)主要是strcmp和strncmp。strcmp:用于比較兩個(gè)字符串是否相同。用法為strcmp(str1,str2),當(dāng)兩個(gè)字符串相同時(shí)返回1,否則返回0。當(dāng)所比較的兩個(gè)字符串是單元字符數(shù)組時(shí),返回值為一個(gè)列向量,元素為相應(yīng)行比較的結(jié)果。strncmp:用于比較兩個(gè)字符串的前面幾個(gè)字符是否相同。用法為strncmp(str1,str2,n),當(dāng)字符串的前n個(gè)字符相同時(shí)返回1,否則返回0。當(dāng)所比較的兩個(gè)字符串時(shí)單元數(shù)組時(shí),返回值為列向量,元素為相應(yīng)行比較的結(jié)果。1/4/20239字符串的比較(1/3)字符串的比較主要為比較兩個(gè)字符串是否相字符串的比較(2/3)除了利用上面兩個(gè)函數(shù)進(jìn)行比較之外,還可以通過(guò)簡(jiǎn)單運(yùn)算比較兩個(gè)字符串。當(dāng)兩個(gè)字符串擁有相同的維數(shù)時(shí),可以利用MATLAB運(yùn)算法則,對(duì)字符數(shù)組進(jìn)行比較。字符數(shù)組的比較與數(shù)值數(shù)組的比較基本相同,不同之處在于字符數(shù)組比較時(shí)進(jìn)行比較的是字符的ASCII碼值。進(jìn)行比較返回的結(jié)果為一個(gè)數(shù)值向量,元素為對(duì)應(yīng)字符比較的結(jié)果。需要注意的是在利用這些運(yùn)算比較字符串時(shí),相互比較的兩個(gè)字符串必須有相同數(shù)目的元素。符號(hào)符號(hào)意義英文簡(jiǎn)寫(xiě)==等于eq~=不等于ne<小于lt>大于gt<=小于等于le>=大于等于ge1/4/202310字符串的比較(2/3)除了利用上面兩個(gè)函數(shù)進(jìn)行比較之外,還可字符串的比較(3/3)除上面介紹的兩個(gè)字符串之間的比較之外,MATLAB還可以判斷字符串中的字符是否為空格字符或者字母。實(shí)現(xiàn)這兩個(gè)功能的函數(shù)分別為isspace和isletter。下面分別介紹這兩個(gè)函數(shù)。isspace:用法為isspace(str),判斷字符串str中的字符是否為空格,是空格字符則返回1,否則返回0。isletter:用法為isletter(str),判斷字符串str中的字符是否為字母,是字母則返回1,否則返回0。1/4/202311字符串的比較(3/3)除上面介紹的兩個(gè)字符串之間的比較之外,字符串的查找和替換查找與替換是字符串操作中的一項(xiàng)重要內(nèi)容。用于查找的函數(shù)主要有findstr,strmatch,strrep,strtok等。下面一一介紹這些函數(shù)。findstr:用于在一個(gè)字符串中查找子字符串,返回子字符串出現(xiàn)的起始位置。用法為findstr(str1,str2),執(zhí)行時(shí)系統(tǒng)首先判斷兩個(gè)字符串的長(zhǎng)短,然后在長(zhǎng)的字符串中檢索短的子字符串。strrep:查找字符串中的子字符串并將其替換為另一個(gè)子字符串。用法為str=strrep(str1,str2,str3),將str1中的所有子字符串str2替換為str3。1/4/202312字符串的查找和替換查找與替換是字符串操作中的一項(xiàng)重要內(nèi)容。用strmatch:在字符數(shù)組的每一行中查找是否存在待查找的字符串,存在則返回1,否則返回0。用法為strmatch('str',STRS),查找str中以STRS開(kāi)頭的字符串。另外可以用strmatch('str',STRS,’exact’),查找精確包含STRS的字符串。strtok:該函數(shù)用于選取字符串中的一個(gè)部分。該函數(shù)的簡(jiǎn)單用法為strtok(str)。1/4/202313strmatch:在字符數(shù)組的每一行中查找是否存在待查找的字字符串與數(shù)值之間的轉(zhuǎn)化一個(gè)字符串是由單引號(hào)括起來(lái)的簡(jiǎn)單文本。在字符串中的每個(gè)字符都是數(shù)組中的一個(gè)元素,這些數(shù)字是由ASCII字符表示的。這些字符和整數(shù)之間可以相互轉(zhuǎn)化。首先,可以將字符串轉(zhuǎn)化為數(shù)組。1/4/202314字符串與數(shù)值之間的轉(zhuǎn)化一個(gè)字符串是由單引號(hào)括起來(lái)的簡(jiǎn)單文本char函數(shù)的用法char函數(shù)的用法Str=char(arr),該命令將包含正數(shù)的數(shù)組arr轉(zhuǎn)化為數(shù)值數(shù)組 當(dāng)C是一個(gè)字符型單元數(shù)組是,Str=char(arr)命令將C中的每一個(gè)單元轉(zhuǎn)化為字符型數(shù)組的對(duì)應(yīng)行。使用cellstr可以進(jìn)行逆變換。Str=char(str1,str2,str3,...),該命令生成的字符串矩陣包含字符串str1、str2和tr3,三個(gè)字符串的長(zhǎng)度可以不相同。1/4/202315char函數(shù)的用法char函數(shù)的用法12/18/202字符串和數(shù)值數(shù)組之間的轉(zhuǎn)化上面已經(jīng)介紹字符串和數(shù)值數(shù)組之間可以相互轉(zhuǎn)化,除上面介紹的方法,MTALAB還提供更多的函數(shù),用于字符串和其他數(shù)據(jù)類(lèi)型數(shù)值數(shù)組之間的轉(zhuǎn)化,可以實(shí)現(xiàn)更多功能。函數(shù)功能備注uintN(如,uint8)將字符串轉(zhuǎn)化為相應(yīng)的無(wú)符號(hào)整數(shù)uint8('ab')→9798str2num將字符型轉(zhuǎn)化為數(shù)字型str2num('123.56')→123.5600str2double與上一函數(shù)的功能相同,結(jié)果更精確一些,同時(shí)支持單元字符串?dāng)?shù)組double('123.56')→495051465354。hex2num將十六進(jìn)制數(shù)轉(zhuǎn)化為雙精度數(shù)hex2num('A')→-1.4917e-154hex2dec將十六進(jìn)制數(shù)基數(shù)轉(zhuǎn)化為正數(shù)hex2dec('B')→11bin2dec將二進(jìn)制轉(zhuǎn)化為十進(jìn)制bin2dec('1010')→10base2dec將N底數(shù)字字符串轉(zhuǎn)化為十進(jìn)制base2dec('212',3)→231/4/202316字符串和數(shù)值數(shù)組之間的轉(zhuǎn)化上面已經(jīng)介紹字符串和數(shù)值數(shù)組之間可單元數(shù)組單元數(shù)組的生成單元數(shù)組的操作單元數(shù)組元素的訪(fǎng)問(wèn)單元數(shù)組的顯示單元數(shù)組的圖形顯示單元數(shù)組元素的刪除改變單元數(shù)組的維數(shù)1/4/202317單元數(shù)組單元數(shù)組的生成12/18/202217單元數(shù)組的生成單元數(shù)組中的每一個(gè)元素稱(chēng)為單元(cell)。單元中的數(shù)據(jù)可以為任何數(shù)據(jù)類(lèi)型,包括數(shù)值數(shù)組、字符、符號(hào)對(duì)象、其他單元數(shù)組和結(jié)構(gòu)體。不同的單元中的數(shù)據(jù)類(lèi)型可以不同。MATLAB中的單元數(shù)組可以為任意維,通常最常用的是一維和二維單元數(shù)組。用戶(hù)可以通過(guò)兩種方式創(chuàng)建一個(gè)單元數(shù)組:一個(gè)是通過(guò)賦值語(yǔ)句直接創(chuàng)建;二是利用cell函數(shù)先為單元數(shù)組分配一個(gè)內(nèi)存空間,然后再給各個(gè)單元賦值。1/4/202318單元數(shù)組的生成單元數(shù)組中的每一個(gè)元素稱(chēng)為單元(cell)。單直接賦值法通過(guò)給每個(gè)單元逐個(gè)賦值來(lái)創(chuàng)建單元數(shù)組。單元數(shù)組用花括號(hào)表示,在賦值時(shí)需要將單元內(nèi)容用花括號(hào)(即{})括起來(lái)。下面介紹用cell函數(shù)創(chuàng)建單元數(shù)組。使用cell函數(shù)創(chuàng)建單元數(shù)組的步驟為:首先用cell函數(shù)創(chuàng)建一個(gè)空的單元數(shù)組,然后再為數(shù)組元素賦值。1/4/202319直接賦值法通過(guò)給每個(gè)單元逐個(gè)賦值來(lái)創(chuàng)建單元數(shù)組。單元數(shù)組用花單元數(shù)組元素的訪(fǎng)問(wèn)使用圓括號(hào)和花括號(hào)對(duì)單元數(shù)組索引是不同的。當(dāng)采用圓括號(hào)時(shí)表示的是該單元,而采用花括號(hào)時(shí)則表示的是該單元的內(nèi)容。在MATLAB單元數(shù)組索引中,圓括號(hào)用于標(biāo)志單元、花括號(hào)用于按單元的尋址。1/4/202320單元數(shù)組元素的訪(fǎng)問(wèn)使用圓括號(hào)和花括號(hào)對(duì)單元數(shù)組索引是不同的顯示單元數(shù)組在顯示單元數(shù)組時(shí)MATLAB有時(shí)只顯示單元的大小和數(shù)據(jù)類(lèi)型,而不顯示每個(gè)單元的具體內(nèi)容。若要顯示單元數(shù)組的內(nèi)容,可以用celldisp函數(shù)。celldisp函數(shù)用于顯示單元數(shù)組的全部?jī)?nèi)容,有時(shí)候只需要顯示單元數(shù)組的一個(gè)單元,可以用花括號(hào)對(duì)單元進(jìn)行索引。1/4/202321顯示單元數(shù)組在顯示單元數(shù)組時(shí)MATLAB有時(shí)只顯示單元的單元數(shù)組的圖形顯示除上面的單元數(shù)組查看方式外,MATLAB支持以圖形方式查看單元數(shù)組的內(nèi)容。用這種方法可以直觀(guān)的看出單元數(shù)組的結(jié)構(gòu)。但是需要注意的是,cellplot只能用于顯示二維單元數(shù)組的內(nèi)容。1/4/202322單元數(shù)組的圖形顯示除上面的單元數(shù)組查看方式外,MATLAB單元數(shù)組元素的刪除單元數(shù)組元素刪除的方法很簡(jiǎn)單,只需將待刪除的元素置為“空”即可。需要注意的是在刪除單元數(shù)組的元素時(shí),采用的索引方式為一維下標(biāo),格式為:A(cell_subscripts)=[]。如果操作的單元數(shù)組為多維數(shù)組,則其索引方式逐維進(jìn)行,刪除元素后,系統(tǒng)將該單元數(shù)組改變?yōu)橐痪S單元數(shù)組,元素按照維數(shù)逐次排序。刪除數(shù)組元素可以每次刪除多個(gè),下標(biāo)用一維數(shù)組指定1/4/202323單元數(shù)組元素的刪除單元數(shù)組元素刪除的方法很簡(jiǎn)單,只需將待刪改變單元數(shù)組的維數(shù)改變數(shù)組的維數(shù)可以通過(guò)添加或刪除數(shù)組元素完成。刪除數(shù)組元素時(shí),得到的單元數(shù)組為原數(shù)組中剩下元素排列而成,為一維數(shù)組,如上面一部分所介紹。添加數(shù)組元素時(shí),自動(dòng)添加該數(shù)組所對(duì)應(yīng)的行和列,其他元素為空。另外可以通過(guò)函數(shù)reshape改變數(shù)組的形狀。reshape函數(shù)按照順序?qū)⒃瓎卧獢?shù)組的元素進(jìn)行重新放置,得到新的單元數(shù)組元素個(gè)數(shù)與原數(shù)組相同。1/4/202324改變單元數(shù)組的維數(shù)改變數(shù)組的維數(shù)可以通過(guò)添加或刪除數(shù)組元素結(jié)構(gòu)體結(jié)構(gòu)體的生成結(jié)構(gòu)體的操作添加成員變量刪除成員變量調(diào)用成員變量1/4/202325結(jié)構(gòu)體結(jié)構(gòu)體的生成12/18/202225結(jié)構(gòu)體的生成與單元數(shù)組類(lèi)似,結(jié)構(gòu)體也有兩種生成方式,一種是直接輸入,另一種是使用結(jié)構(gòu)體生成函數(shù)struct。通過(guò)直接輸入結(jié)構(gòu)體各元素值的方法可以創(chuàng)建一個(gè)結(jié)構(gòu)體。輸入的同時(shí)定義該元素的名稱(chēng),并使用“.”將變量名與元素名連接。struct函數(shù)的最基本的使用方式是struct_name=struct('field1',V1,'field2',V2,...),其中fieldn是各成員變量名,Vn為對(duì)應(yīng)的各成員變量的內(nèi)容。1/4/202326結(jié)構(gòu)體的生成與單元數(shù)組類(lèi)似,結(jié)構(gòu)體也有兩種生成方式,一種是直添加成員變量如果需要向結(jié)構(gòu)體中添加新的成員,可以直接輸入該變量的名稱(chēng)并賦值。1/4/202327添加成員變量如果需要向結(jié)構(gòu)體中添加新的成員,可以直接輸入該刪除成員變量在MATLAB中可以使用函數(shù)rmfield從結(jié)構(gòu)體中刪除成員變量。命令S=rmfield(S,’field’)將刪除結(jié)構(gòu)體S中的成員field,同時(shí)保留S原有的結(jié)構(gòu)。可以使用命令S=rmfield(S,fields)一次刪除多個(gè)成員,其中fields為字符行變量或者單元型變量。該命令刪除fields中指定的成員。1/4/202328刪除成員變量在MATLAB中可以使用函數(shù)rmfiel調(diào)用成員變量在MATLAB中調(diào)用成員變量非常簡(jiǎn)單。結(jié)構(gòu)體中的任何信息,可以通過(guò)“結(jié)構(gòu)體變量名.成員名”的方式調(diào)用。調(diào)出成員變量后,可以利用相關(guān)函數(shù)進(jìn)行調(diào)用。1/4/202329調(diào)用成員變量在MATLAB中調(diào)用成員變量非常簡(jiǎn)單。結(jié)構(gòu)第6章字符串、單元數(shù)組和結(jié)構(gòu)體MATLABR2007基礎(chǔ)教程清華大學(xué)出版社教學(xué)目標(biāo)教學(xué)重點(diǎn)教學(xué)內(nèi)容1/4/202330第6章字符串、單元數(shù)組和結(jié)構(gòu)體MATLABR2007基礎(chǔ)教學(xué)目標(biāo)掌握字符串的生成及操作掌握單元數(shù)組的生成及操作掌握結(jié)構(gòu)體的生成及操作1/4/202331教學(xué)目標(biāo)掌握字符串的生成及操作12/18/20222教學(xué)重點(diǎn)字符串單元數(shù)組結(jié)構(gòu)體1/4/202332教學(xué)重點(diǎn)字符串12/18/20223教學(xué)內(nèi)容字符串單元數(shù)組結(jié)構(gòu)體1/4/202333教學(xué)內(nèi)容字符串12/18/20224字符串的生成(1/2)字符串的生成MATLAB中的字符串為ASCII值的數(shù)值數(shù)組,作為字符串表達(dá)式進(jìn)行表示。在MATLAB中,生成字符串的方法為stringname=’thecontentofthestring’。1/4/202334字符串的生成(1/2)字符串的生成12/18/20225字符串的生成(2/2)字符串是一個(gè)ASCII碼的字符數(shù)組,因此,與普通數(shù)組一樣,字符串也可以形成矩陣(表現(xiàn)為一個(gè)字符串有多行)。但是,這些行必須有相同數(shù)目的列數(shù)。另外,使用char函數(shù)可以創(chuàng)建長(zhǎng)度不一致的字符串矩陣。char函數(shù)自動(dòng)將所有字符串的長(zhǎng)度設(shè)置為輸入字符串中長(zhǎng)度的最大值。1/4/202335字符串的生成(2/2)字符串是一個(gè)ASCII碼的字符數(shù)字符串的操作字符串的顯示 字符串的顯示有兩種方式:直接顯示和利用disp函數(shù)進(jìn)行顯示。字符串的執(zhí)行 在MATLAB中可以用函數(shù)eval來(lái)執(zhí)行字符串。1/4/202336字符串的操作字符串的顯示12/18/20227字符串的運(yùn)算字符串的運(yùn)算主要包括:判斷字符串是否相等通過(guò)字符串運(yùn)算來(lái)比較字符串中的字符進(jìn)行字符分類(lèi)、查找與替換字符串與數(shù)值數(shù)組之間的相互轉(zhuǎn)換函數(shù)名函數(shù)用途函數(shù)名函數(shù)用途strcat橫向連接字符串strvcat縱向連接字符串strcmp字符串比較strncmp比較字符串的前n個(gè)字符findstr字符串查找strjust字符串對(duì)齊strmatch字符串匹配strrep字符串查找與替換strtok選擇字符串中的部分blanks創(chuàng)建由空格組成的字符串deblank刪除字符串結(jié)尾的空格ischar判斷變量是否為字符串iscellstr判斷字符串單元數(shù)組isletter判斷數(shù)組是否由字母組成isspace判斷是否空格stringsMATLAB字符串句柄1/4/202337字符串的運(yùn)算字符串的運(yùn)算主要包括:函數(shù)名函數(shù)用途函數(shù)名函數(shù)用字符串的比較(1/3)字符串的比較主要為比較兩個(gè)字符串是否相同,字符串中的子串是否相同和字符串中的個(gè)別字符是否相同。用于比較字符串的函數(shù)主要是strcmp和strncmp。strcmp:用于比較兩個(gè)字符串是否相同。用法為strcmp(str1,str2),當(dāng)兩個(gè)字符串相同時(shí)返回1,否則返回0。當(dāng)所比較的兩個(gè)字符串是單元字符數(shù)組時(shí),返回值為一個(gè)列向量,元素為相應(yīng)行比較的結(jié)果。strncmp:用于比較兩個(gè)字符串的前面幾個(gè)字符是否相同。用法為strncmp(str1,str2,n),當(dāng)字符串的前n個(gè)字符相同時(shí)返回1,否則返回0。當(dāng)所比較的兩個(gè)字符串時(shí)單元數(shù)組時(shí),返回值為列向量,元素為相應(yīng)行比較的結(jié)果。1/4/202338字符串的比較(1/3)字符串的比較主要為比較兩個(gè)字符串是否相字符串的比較(2/3)除了利用上面兩個(gè)函數(shù)進(jìn)行比較之外,還可以通過(guò)簡(jiǎn)單運(yùn)算比較兩個(gè)字符串。當(dāng)兩個(gè)字符串擁有相同的維數(shù)時(shí),可以利用MATLAB運(yùn)算法則,對(duì)字符數(shù)組進(jìn)行比較。字符數(shù)組的比較與數(shù)值數(shù)組的比較基本相同,不同之處在于字符數(shù)組比較時(shí)進(jìn)行比較的是字符的ASCII碼值。進(jìn)行比較返回的結(jié)果為一個(gè)數(shù)值向量,元素為對(duì)應(yīng)字符比較的結(jié)果。需要注意的是在利用這些運(yùn)算比較字符串時(shí),相互比較的兩個(gè)字符串必須有相同數(shù)目的元素。符號(hào)符號(hào)意義英文簡(jiǎn)寫(xiě)==等于eq~=不等于ne<小于lt>大于gt<=小于等于le>=大于等于ge1/4/202339字符串的比較(2/3)除了利用上面兩個(gè)函數(shù)進(jìn)行比較之外,還可字符串的比較(3/3)除上面介紹的兩個(gè)字符串之間的比較之外,MATLAB還可以判斷字符串中的字符是否為空格字符或者字母。實(shí)現(xiàn)這兩個(gè)功能的函數(shù)分別為isspace和isletter。下面分別介紹這兩個(gè)函數(shù)。isspace:用法為isspace(str),判斷字符串str中的字符是否為空格,是空格字符則返回1,否則返回0。isletter:用法為isletter(str),判斷字符串str中的字符是否為字母,是字母則返回1,否則返回0。1/4/202340字符串的比較(3/3)除上面介紹的兩個(gè)字符串之間的比較之外,字符串的查找和替換查找與替換是字符串操作中的一項(xiàng)重要內(nèi)容。用于查找的函數(shù)主要有findstr,strmatch,strrep,strtok等。下面一一介紹這些函數(shù)。findstr:用于在一個(gè)字符串中查找子字符串,返回子字符串出現(xiàn)的起始位置。用法為findstr(str1,str2),執(zhí)行時(shí)系統(tǒng)首先判斷兩個(gè)字符串的長(zhǎng)短,然后在長(zhǎng)的字符串中檢索短的子字符串。strrep:查找字符串中的子字符串并將其替換為另一個(gè)子字符串。用法為str=strrep(str1,str2,str3),將str1中的所有子字符串str2替換為str3。1/4/202341字符串的查找和替換查找與替換是字符串操作中的一項(xiàng)重要內(nèi)容。用strmatch:在字符數(shù)組的每一行中查找是否存在待查找的字符串,存在則返回1,否則返回0。用法為strmatch('str',STRS),查找str中以STRS開(kāi)頭的字符串。另外可以用strmatch('str',STRS,’exact’),查找精確包含STRS的字符串。strtok:該函數(shù)用于選取字符串中的一個(gè)部分。該函數(shù)的簡(jiǎn)單用法為strtok(str)。1/4/202342strmatch:在字符數(shù)組的每一行中查找是否存在待查找的字字符串與數(shù)值之間的轉(zhuǎn)化一個(gè)字符串是由單引號(hào)括起來(lái)的簡(jiǎn)單文本。在字符串中的每個(gè)字符都是數(shù)組中的一個(gè)元素,這些數(shù)字是由ASCII字符表示的。這些字符和整數(shù)之間可以相互轉(zhuǎn)化。首先,可以將字符串轉(zhuǎn)化為數(shù)組。1/4/202343字符串與數(shù)值之間的轉(zhuǎn)化一個(gè)字符串是由單引號(hào)括起來(lái)的簡(jiǎn)單文本char函數(shù)的用法char函數(shù)的用法Str=char(arr),該命令將包含正數(shù)的數(shù)組arr轉(zhuǎn)化為數(shù)值數(shù)組 當(dāng)C是一個(gè)字符型單元數(shù)組是,Str=char(arr)命令將C中的每一個(gè)單元轉(zhuǎn)化為字符型數(shù)組的對(duì)應(yīng)行。使用cellstr可以進(jìn)行逆變換。Str=char(str1,str2,str3,...),該命令生成的字符串矩陣包含字符串str1、str2和tr3,三個(gè)字符串的長(zhǎng)度可以不相同。1/4/202344char函數(shù)的用法char函數(shù)的用法12/18/202字符串和數(shù)值數(shù)組之間的轉(zhuǎn)化上面已經(jīng)介紹字符串和數(shù)值數(shù)組之間可以相互轉(zhuǎn)化,除上面介紹的方法,MTALAB還提供更多的函數(shù),用于字符串和其他數(shù)據(jù)類(lèi)型數(shù)值數(shù)組之間的轉(zhuǎn)化,可以實(shí)現(xiàn)更多功能。函數(shù)功能備注uintN(如,uint8)將字符串轉(zhuǎn)化為相應(yīng)的無(wú)符號(hào)整數(shù)uint8('ab')→9798str2num將字符型轉(zhuǎn)化為數(shù)字型str2num('123.56')→123.5600str2double與上一函數(shù)的功能相同,結(jié)果更精確一些,同時(shí)支持單元字符串?dāng)?shù)組double('123.56')→495051465354。hex2num將十六進(jìn)制數(shù)轉(zhuǎn)化為雙精度數(shù)hex2num('A')→-1.4917e-154hex2dec將十六進(jìn)制數(shù)基數(shù)轉(zhuǎn)化為正數(shù)hex2dec('B')→11bin2dec將二進(jìn)制轉(zhuǎn)化為十進(jìn)制bin2dec('1010')→10base2dec將N底數(shù)字字符串轉(zhuǎn)化為十進(jìn)制base2dec('212',3)→231/4/202345字符串和數(shù)值數(shù)組之間的轉(zhuǎn)化上面已經(jīng)介紹字符串和數(shù)值數(shù)組之間可單元數(shù)組單元數(shù)組的生成單元數(shù)組的操作單元數(shù)組元素的訪(fǎng)問(wèn)單元數(shù)組的顯示單元數(shù)組的圖形顯示單元數(shù)組元素的刪除改變單元數(shù)組的維數(shù)1/4/202346單元數(shù)組單元數(shù)組的生成12/18/202217單元數(shù)組的生成單元數(shù)組中的每一個(gè)元素稱(chēng)為單元(cell)。單元中的數(shù)據(jù)可以為任何數(shù)據(jù)類(lèi)型,包括數(shù)值數(shù)組、字符、符號(hào)對(duì)象、其他單元數(shù)組和結(jié)構(gòu)體。不同的單元中的數(shù)據(jù)類(lèi)型可以不同。MATLAB中的單元數(shù)組可以為任意維,通常最常用的是一維和二維單元數(shù)組。用戶(hù)可以通過(guò)兩種方式創(chuàng)建一個(gè)單元數(shù)組:一個(gè)是通過(guò)賦值語(yǔ)句直接創(chuàng)建;二是利用cell函數(shù)先為單元數(shù)組分配一個(gè)內(nèi)存空間,然后再給各個(gè)單元賦值。1/4/202347單元數(shù)組的生成單元數(shù)組中的每一個(gè)元素稱(chēng)為單元(cell)。單直接賦值法通過(guò)給每個(gè)單元逐個(gè)賦值來(lái)創(chuàng)建單元數(shù)組。單元數(shù)組用花括號(hào)表示,在賦值時(shí)需要將單元內(nèi)容用花括號(hào)(即{})括起來(lái)。下面介紹用cell函數(shù)創(chuàng)建單元數(shù)組。使用cell函數(shù)創(chuàng)建單元數(shù)組的步驟為:首先用cell函數(shù)創(chuàng)建一個(gè)空的單元數(shù)組,然后再為數(shù)組元素賦值。1/4/202348直接賦值法通過(guò)給每個(gè)單元逐個(gè)賦值來(lái)創(chuàng)建單元數(shù)組。單元數(shù)組用花單元數(shù)組元素的訪(fǎng)問(wèn)使用圓括號(hào)和花括號(hào)對(duì)單元數(shù)組索引是不同的。當(dāng)采用圓括號(hào)時(shí)表示的是該單元,而采用花括號(hào)時(shí)則表示的是該單元的內(nèi)容。在MATLAB單元數(shù)組索引中,圓括號(hào)用于標(biāo)志單元、花括號(hào)用于按單元的尋址。1/4/202349單元數(shù)組元素的訪(fǎng)問(wèn)使用圓括號(hào)和花括號(hào)對(duì)單元數(shù)組索引是不同的顯示單元數(shù)組在顯示單元數(shù)組時(shí)MATLAB有時(shí)只顯示單元的大小和數(shù)據(jù)類(lèi)型,而不顯示每個(gè)單元的具體內(nèi)容。若要顯示單元數(shù)組的內(nèi)容,可以用celldisp函數(shù)。celldisp函數(shù)用于顯示單元數(shù)組的全部?jī)?nèi)容,有時(shí)候只需要顯示單元數(shù)組的一個(gè)單元,可以用花括號(hào)對(duì)單元進(jìn)行索引。1/4/202350顯示單元數(shù)組在顯示單元數(shù)組時(shí)MATLAB有時(shí)只顯示單元的單元數(shù)組的圖形顯示除上面的單元數(shù)組查看方式外,MATLAB支持以圖形方式查看單元數(shù)組的內(nèi)容。用這種方法可以直觀(guān)的看出單元數(shù)組的結(jié)構(gòu)。但是需要注意的是,cellplot只能用于顯示二維單元數(shù)組的內(nèi)容。1/4/202351單元數(shù)組的圖形顯示除上面的單元數(shù)組查看方式外,MATLAB單元數(shù)組元素的刪除單元數(shù)組元素刪除的方法很簡(jiǎn)單,只需將待刪除的元素置為“空”即可。需要注意的是在刪除單元數(shù)組的元素

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論