版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、MATLAB R2007基礎教程基礎教程 清華大學出版社清華大學出版社2022年4月30日第1頁第第6章字符串、單元數組和結構體章字符串、單元數組和結構體 MATLAB R2007基礎教程基礎教程 清華大學出版社清華大學出版社教學目標教學重點教學內容MATLAB R2007基礎教程基礎教程 清華大學出版社清華大學出版社2022年4月30日第2頁教學目標l掌握字符串的生成及操作掌握字符串的生成及操作l掌握單元數組的生成及操作掌握單元數組的生成及操作l掌握結構體的生成及操作掌握結構體的生成及操作MATLAB R2007基礎教程基礎教程 清華大學出版社清華大學出版社2022年4月30日第3頁教學重點
2、l字符串字符串l單元數組單元數組l結構體結構體MATLAB R2007基礎教程基礎教程 清華大學出版社清華大學出版社2022年4月30日第4頁教學內容l字符串字符串l單元數組單元數組l結構體結構體MATLAB R2007基礎教程基礎教程 清華大學出版社清華大學出版社2022年4月30日第5頁字符串的生成(字符串的生成(1/2) l字符串的生成字符串的生成 lMATLAB 中的字符串為中的字符串為 ASCII 值的數值數值的數值數組,作為字符串表達式進行表示。在組,作為字符串表達式進行表示。在 MATLAB 中,生成字符串的方法為中,生成字符串的方法為 stringname=the conten
3、t of the string。MATLAB R2007基礎教程基礎教程 清華大學出版社清華大學出版社2022年4月30日第6頁字符串的生成(字符串的生成(2/2) l字符串是一個字符串是一個 ASCII 碼的字符數組,因此,碼的字符數組,因此,與普通數組一樣,字符串也可以形成矩陣與普通數組一樣,字符串也可以形成矩陣(表現為一個字符串有多行)。但是,這(表現為一個字符串有多行)。但是,這些行必須有相同數目的列數。些行必須有相同數目的列數。l另外,使用另外,使用 char 函數可以創(chuàng)建長度不一致函數可以創(chuàng)建長度不一致的字符串矩陣。的字符串矩陣。char 函數自動將所有字符函數自動將所有字符串的長
4、度設置為輸入字符串中長度的最大串的長度設置為輸入字符串中長度的最大值。值。MATLAB R2007基礎教程基礎教程 清華大學出版社清華大學出版社2022年4月30日第7頁字符串的操作字符串的操作 l字符串的顯示字符串的顯示字符串的顯示有兩種方式:直接顯示和利字符串的顯示有兩種方式:直接顯示和利用用 disp 函數進行顯示。函數進行顯示。l字符串的執(zhí)行字符串的執(zhí)行在在 MATLAB 中可以用函數中可以用函數 eval 來執(zhí)行字來執(zhí)行字符串。符串。MATLAB R2007基礎教程基礎教程 清華大學出版社清華大學出版社2022年4月30日第8頁字符串的運算字符串的運算l字符串的運算主要包括:字符串的
5、運算主要包括: 判斷字符串是否相等判斷字符串是否相等 通過字符串運算來比較字符串中的字符通過字符串運算來比較字符串中的字符 進行字符分類、查找與替換進行字符分類、查找與替換1. 字符串與數值數組之間的相互轉換字符串與數值數組之間的相互轉換 函數名函數用途strcat橫向連接字符串strcmp字符串比較findstr字符串查找strmatch字符串匹配strtok選擇字符串中的部分deblank刪除字符串結尾的空格iscellstr判斷字符串單元數組MATLAB R2007基礎教程基礎教程 清華大學出版社清華大學出版社2022年4月30日第9頁字符串的比較(字符串的比較(1/3)l字符串的比較主
6、要為比較兩個字符串是否相同,字符串的比較主要為比較兩個字符串是否相同,字符串中的子串是否相同和字符串中的個別字符字符串中的子串是否相同和字符串中的個別字符是否相同。用于比較字符串的函數主要是是否相同。用于比較字符串的函數主要是 strcmp 和和 strncmp。 strcmp:用于比較兩個字符串是否相同。用法為:用于比較兩個字符串是否相同。用法為 strcmp(str1,str2),當兩個字符串相同時返回,當兩個字符串相同時返回1,否則,否則返回返回0。當所比較的兩個字符串是單元字符數組時,返。當所比較的兩個字符串是單元字符數組時,返回值為一個列向量,元素為相應行比較的結果?;刂禐橐粋€列向量
7、,元素為相應行比較的結果。 strncmp:用于比較兩個字符串的前面幾個字符是否:用于比較兩個字符串的前面幾個字符是否相同。用法為相同。用法為 strncmp(str1,str2,n), 當字符串的前當字符串的前 n 個字符相同時返回個字符相同時返回1,否則返回,否則返回 0。當所比較的兩個字。當所比較的兩個字符串時單元數組時,返回值為列向量,元素為相應行符串時單元數組時,返回值為列向量,元素為相應行比較的結果。比較的結果。MATLAB R2007基礎教程基礎教程 清華大學出版社清華大學出版社2022年4月30日第10頁字符串的比較(字符串的比較(2/3)l除了利用上面兩個函數進行比較之外,還
8、可以通除了利用上面兩個函數進行比較之外,還可以通過簡單運算比較兩個字符串。當兩個字符串擁有過簡單運算比較兩個字符串。當兩個字符串擁有相同的維數時,可以利用相同的維數時,可以利用 MATLAB 運算法則,運算法則,對字符數組進行比較。字符數組的比較與數值數對字符數組進行比較。字符數組的比較與數值數組的比較基本相同,不同之處在于字符數組比較組的比較基本相同,不同之處在于字符數組比較時進行比較的是字符的時進行比較的是字符的 ASCII 碼值。進行比較返碼值。進行比較返回的結果為一個數值向量,元素為對應字符比較回的結果為一個數值向量,元素為對應字符比較的結果。需要注意的是在利用這些運算比較字符的結果。
9、需要注意的是在利用這些運算比較字符串時,相互比較的兩個字符串必須有相同數目的串時,相互比較的兩個字符串必須有相同數目的元素。元素。符號=MATLAB R2007基礎教程基礎教程 清華大學出版社清華大學出版社2022年4月30日第11頁字符串的比較(字符串的比較(3/3)l除上面介紹的兩個字符串之間的比較之外,除上面介紹的兩個字符串之間的比較之外,MATLAB 還可以判斷字符串中的字符是否為空格還可以判斷字符串中的字符是否為空格字符或者字母。實現這兩個功能的函數分別為字符或者字母。實現這兩個功能的函數分別為 isspace 和和isletter。下面分別介紹這兩個函數。下面分別介紹這兩個函數。
10、isspace:用法為:用法為 isspace(str),判斷字符串,判斷字符串 str 中的中的字符是否為空格,是空格字符則返回字符是否為空格,是空格字符則返回1,否則返回,否則返回0。 isletter:用法為:用法為 isletter(str),判斷字符串,判斷字符串 str 中的字中的字符是否為字母,是字母則返回符是否為字母,是字母則返回1,否則返回,否則返回0。MATLAB R2007基礎教程基礎教程 清華大學出版社清華大學出版社2022年4月30日第12頁字符串的查找和替換字符串的查找和替換l查找與替換是字符串操作中的一項重要內容。用查找與替換是字符串操作中的一項重要內容。用于查找
11、的函數主要有于查找的函數主要有 findstr,strmatch,strrep,strtok 等。下面一一介紹這些函數。等。下面一一介紹這些函數。 findstr:用于在一個字符串中查找子字符串,返回子:用于在一個字符串中查找子字符串,返回子字符串出現的起始位置。用法為字符串出現的起始位置。用法為findstr(str1,str2),執(zhí),執(zhí)行時系統首先判斷兩個字符串的長短,然后在長的字行時系統首先判斷兩個字符串的長短,然后在長的字符串中檢索短的子字符串。符串中檢索短的子字符串。 strrep:查找字符串中的子字符串并將其替換為另一個:查找字符串中的子字符串并將其替換為另一個子字符串。用法為子字
12、符串。用法為 str = strrep(str1, str2, str3),將,將 str1 中的所有子字符串中的所有子字符串 str2 替換為替換為 str3。MATLAB R2007基礎教程基礎教程 清華大學出版社清華大學出版社2022年4月30日第13頁 strmatch:在字符數組的每一行中查找是否存:在字符數組的每一行中查找是否存在待查找的字符串,存在則返回在待查找的字符串,存在則返回1,否則返回,否則返回0。用法為用法為strmatch(str, STRS),查找,查找 str 中以中以 STRS 開頭的字符串。另外可以用開頭的字符串。另外可以用strmatch(str, STRS
13、,exact),查找精確包含,查找精確包含 STRS 的字符串。的字符串。 strtok:該函數用于選取字符串中的一個部分。:該函數用于選取字符串中的一個部分。該函數的簡單用法為該函數的簡單用法為 strtok(str)。MATLAB R2007基礎教程基礎教程 清華大學出版社清華大學出版社2022年4月30日第14頁字符串與數值之間的轉化字符串與數值之間的轉化 l一個字符串是由單引號括起來的簡單文本。一個字符串是由單引號括起來的簡單文本。在字符串中的每個字符都是數組中的一個在字符串中的每個字符都是數組中的一個元素,這些數字是由元素,這些數字是由 ASCII 字符表示的。字符表示的。這些字符和
14、整數之間可以相互轉化。這些字符和整數之間可以相互轉化。l首先,可以將字符串轉化為數組。首先,可以將字符串轉化為數組。MATLAB R2007基礎教程基礎教程 清華大學出版社清華大學出版社2022年4月30日第15頁char 函數的用法函數的用法l char 函數的用法函數的用法 Str=char(arr),該,該命令將包含正數的數組命令將包含正數的數組 arr 轉化為數值數組轉化為數值數組當當 C 是一個字符型單元數組是,是一個字符型單元數組是,Str=char(arr) 命令將命令將 C 中的每一個單元轉化為字符型中的每一個單元轉化為字符型數組的數組的對應行。使用對應行。使用 cellstr
15、 可以進行逆變換??梢赃M行逆變換。 Str=char(str1,str2,str3,.),該命令生成的字,該命令生成的字符串矩陣包含字符串符串矩陣包含字符串 str1、str2 和和 tr3,三個,三個字符串的長度可以不相同。字符串的長度可以不相同。MATLAB R2007基礎教程基礎教程 清華大學出版社清華大學出版社2022年4月30日第16頁字符串和數值數組之間的轉化字符串和數值數組之間的轉化l上面已經介紹字符串和數值數組之間可以相互轉上面已經介紹字符串和數值數組之間可以相互轉化,除上面介紹的方法,化,除上面介紹的方法,MTALAB 還提供更多的還提供更多的函數,用于字符串和其他數據類型數
16、值數組之間函數,用于字符串和其他數據類型數值數組之間的轉化,可以實現更多功能。的轉化,可以實現更多功能。 函數功能備注uintN(如,uint8)將字符串轉化為相應的無符號整數uint8(ab) 97 98str2num將字符型轉化為數字型str2num(123.56) 123.5600str2double與上一函數的功能相同,結果更精確一些,同時支持單元字符串數組double(123.56) 49 50 51 46 53 54。hex2num將十六進制數轉化為雙精度數hex2num(A) -1.4917e-154MATLAB R2007基礎教程基礎教程 清華大學出版社清華大學出版社2022年
17、4月30日第17頁單元數組單元數組 l單元數組的生成單元數組的生成l單元數組的操作單元數組的操作 單元數組元素的訪問單元數組元素的訪問 單元數組的顯示單元數組的顯示 單元數組的圖形顯示單元數組的圖形顯示 單元數組元素的刪除單元數組元素的刪除 改變單元數組的維數改變單元數組的維數MATLAB R2007基礎教程基礎教程 清華大學出版社清華大學出版社2022年4月30日第18頁單元數組的生成單元數組的生成l單元數組中的每一個元素稱為單元(單元數組中的每一個元素稱為單元(cell)。單)。單元中的數據可以為任何數據類型,包括數值數組、元中的數據可以為任何數據類型,包括數值數組、字符、符號對象、其他單
18、元數組和結構體。不同字符、符號對象、其他單元數組和結構體。不同的單元中的數據類型可以不同。的單元中的數據類型可以不同。MATLAB 中的單中的單元數組可以為任意維,通常最常用的是一維和二元數組可以為任意維,通常最常用的是一維和二維單元數組。維單元數組。l用戶可以通過兩種方式創(chuàng)建一個單元數組:用戶可以通過兩種方式創(chuàng)建一個單元數組: 一個是通過賦值語句直接創(chuàng)建;一個是通過賦值語句直接創(chuàng)建; 二是利用二是利用 cell 函數先為單元數組分配一個內存空間,函數先為單元數組分配一個內存空間,然后再給各個單元賦值。然后再給各個單元賦值。MATLAB R2007基礎教程基礎教程 清華大學出版社清華大學出版社
19、2022年4月30日第19頁l直接賦值法通過給每個單元逐個賦值來創(chuàng)直接賦值法通過給每個單元逐個賦值來創(chuàng)建單元數組。單元數組用花括號表示,在建單元數組。單元數組用花括號表示,在賦值時需要將單元內容用花括號(即賦值時需要將單元內容用花括號(即)括)括起來。起來。l下面介紹用下面介紹用 cell 函數創(chuàng)建單元數組。使用函數創(chuàng)建單元數組。使用 cell 函數創(chuàng)建單元數組的步驟為:首先用函數創(chuàng)建單元數組的步驟為:首先用 cell 函數創(chuàng)建一個空的單元數組,然后再函數創(chuàng)建一個空的單元數組,然后再為數組元素賦值。為數組元素賦值。MATLAB R2007基礎教程基礎教程 清華大學出版社清華大學出版社2022年
20、4月30日第20頁單元數組元素的訪問單元數組元素的訪問 l使用圓括號和花括號對單元數組索引是不使用圓括號和花括號對單元數組索引是不同的。當采用圓括號時表示的是該單元,同的。當采用圓括號時表示的是該單元,而采用花括號時則表示的是該單元的內容。而采用花括號時則表示的是該單元的內容。在在 MATLAB 單元數組索引中,圓括號用于單元數組索引中,圓括號用于標志單元、花括號用于按單元的尋址。標志單元、花括號用于按單元的尋址。MATLAB R2007基礎教程基礎教程 清華大學出版社清華大學出版社2022年4月30日第21頁顯示單元數組顯示單元數組l在顯示單元數組時在顯示單元數組時 MATLAB 有時只顯示
21、單有時只顯示單元的大小和數據類型,而不顯示每個單元元的大小和數據類型,而不顯示每個單元的具體內容。若要顯示單元數組的內容,的具體內容。若要顯示單元數組的內容,可以用可以用 celldisp 函數。函數。lcelldisp 函數用于顯示單元數組的全部內函數用于顯示單元數組的全部內容,有時候只需要顯示單元數組的一個單容,有時候只需要顯示單元數組的一個單元,可以用花括號對單元進行索引。元,可以用花括號對單元進行索引。MATLAB R2007基礎教程基礎教程 清華大學出版社清華大學出版社2022年4月30日第22頁單元數組的圖形顯示單元數組的圖形顯示 l除上面的單元數組查看方式外,除上面的單元數組查看
22、方式外,MATLAB 支持以圖形方式查看單元數組的內容。用支持以圖形方式查看單元數組的內容。用這種方法可以直觀的看出單元數組的結構。這種方法可以直觀的看出單元數組的結構。但是需要注意的是,但是需要注意的是,cellplot 只能用于顯示只能用于顯示二維單元數組的內容。二維單元數組的內容。MATLAB R2007基礎教程基礎教程 清華大學出版社清華大學出版社2022年4月30日第23頁單元數組元素的刪除單元數組元素的刪除 l單元數組元素刪除的方法很簡單,只需將待刪除單元數組元素刪除的方法很簡單,只需將待刪除的元素置為的元素置為“空空”即可。需要注意的是在刪除單即可。需要注意的是在刪除單元數組的元
23、素時,采用的索引方式為一維下標,元數組的元素時,采用的索引方式為一維下標,格式為:格式為: A(cell_subscripts) = 。l如果操作的單元數組為多維數組,則其索引方式如果操作的單元數組為多維數組,則其索引方式逐維進行,刪除元素后,系統將該單元數組改變逐維進行,刪除元素后,系統將該單元數組改變?yōu)橐痪S單元數組,元素按照維數逐次排序。為一維單元數組,元素按照維數逐次排序。l刪除數組元素可以每次刪除多個,下標用一維數刪除數組元素可以每次刪除多個,下標用一維數組指定組指定MATLAB R2007基礎教程基礎教程 清華大學出版社清華大學出版社2022年4月30日第24頁改變單元數組的維數改變
24、單元數組的維數 l改變數組的維數可以通過添加或刪除數組元素完改變數組的維數可以通過添加或刪除數組元素完成。刪除數組元素時,得到的單元數組為原數組成。刪除數組元素時,得到的單元數組為原數組中剩下元素排列而成,為一維數組,如上面一部中剩下元素排列而成,為一維數組,如上面一部分所介紹。添加數組元素時,自動添加該數組所分所介紹。添加數組元素時,自動添加該數組所對應的行和列,其他元素為空。對應的行和列,其他元素為空。l另外可以通過函數另外可以通過函數 reshape 改變數組的形狀。改變數組的形狀。reshape 函數按照順序將原單元數組的元素進行函數按照順序將原單元數組的元素進行重新放置,得到新的單元
25、數組元素個數與原數組重新放置,得到新的單元數組元素個數與原數組相同。相同。MATLAB R2007基礎教程基礎教程 清華大學出版社清華大學出版社2022年4月30日第25頁結構體結構體 l結構體的生成結構體的生成 l結構體的操作結構體的操作 添加成員變量添加成員變量 刪除成員變量刪除成員變量 調用成員變量調用成員變量MATLAB R2007基礎教程基礎教程 清華大學出版社清華大學出版社2022年4月30日第26頁結構體的生成結構體的生成l與單元數組類似,結構體也有兩種生成方式,一與單元數組類似,結構體也有兩種生成方式,一種是直接輸入,另一種是使用結構體生成函數種是直接輸入,另一種是使用結構體生成函數 struct。l通過直接輸入結構體各元素值的方法可以創(chuàng)建一通過直接輸入結構體各元素值的方法可以創(chuàng)建一個結構體。輸入的同
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年長寧區(qū)教育系統教師招聘備考題庫及答案詳解一套
- 安義縣城市建設投資發(fā)展集團有限公司2025年公開招聘工作人員備考題庫及完整答案詳解1套
- 2025年國航股份西南分公司招聘乘務員備考題庫及一套答案詳解
- 福州江南水都中學2026年工作人員招聘備考題庫附答案詳解
- 2025年韶關市教育局直屬學校赴外地院校公開招聘專任教師18人備考題庫(第二場)附答案詳解
- 2025年寧波和豐產業(yè)園(集團)有限公司招聘備考題庫及答案詳解參考
- 2025年關于公開招聘編外臨床護士的備考題庫及一套完整答案詳解
- 通遼經濟技術開發(fā)區(qū)2025年社區(qū)工作者公開招聘備考題庫含答案詳解
- 2025年茂名高嶺科技有限公司面向社會公開招聘備考題庫帶答案詳解
- 2025年東城街道辦事處招聘工作人員23人備考題庫及完整答案詳解1套
- 2024-2025學年河南省鄭州市高新區(qū)七年級(上)期末數學試卷
- 2025年期貨從業(yè)資格考試題庫及完整答案(奪冠)
- 2025年醫(yī)療器械監(jiān)督管理條例培訓試題及參考答案
- 2025江蘇蘇州市昆山開發(fā)區(qū)招聘編外輔助人員29人(公共基礎知識)綜合能力測試題附答案解析
- 2025廣西柳州城市職業(yè)學院人才招聘28人(公共基礎知識)測試題附答案解析
- 企業(yè)融資規(guī)劃與預算編制模板
- 2025年山東單招試題歸總及答案
- 北京八中2026屆高二物理第一學期期末考試模擬試題含解析
- 2026年湖南鐵道職業(yè)技術學院單招職業(yè)技能考試必刷測試卷附答案
- 銷售費用申請與報銷流程標準化手冊
- 《軍用關鍵軟硬件自主可控產品名錄》(2025年v1版)
評論
0/150
提交評論