版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、MATLAB 程式設(shè)計(jì)入門篇異質(zhì)陣列,張智星 .tw .tw/jang 清大資工系 多媒體檢索實(shí)驗(yàn)室,本章重點(diǎn),異質(zhì)陣列(Cell Arrays) MATLAB 在第五版之後才支援的資料型態(tài) 主要功能 將不同的資料型態(tài)儲存於同一個陣列之中 本章重點(diǎn) 建立異質(zhì)陣列 顯示異質(zhì)陣列 取用異質(zhì)陣列,異質(zhì)陣列(Cell Arrays),可儲存各種不同型態(tài)的 MATLAB 資料 Cell Arrays = 盒子陣列!? 異質(zhì) = 不同性質(zhì)的資料型態(tài),建立異質(zhì)陣列 - Cell Indexing,Ex:cell01.M,A(1,1) =
2、 This is the first cell.; A(1,2) = 5+j*6 , 4+j*5; A(2,1) = 1 2 3; 4 5 6; 7 8 9; A(2,2) = Tim; Chris,Cell-Indexing (cont),上例建立了一個二維異質(zhì)陣列A:2*2內(nèi)容如下:,建立異質(zhì)陣列 - Content Indexing,做法:矩陣() 異質(zhì)陣列 Ex:cell02.m,A1,1 = this is the first cell.; A1,2 = 5+j*6, 4+j*5; A2,1 = 1 2 3; 4 5 6; 7 8 9; A2,2 = Tim; Chris,結(jié)果同上例
3、,建立異質(zhì)陣列 使用大括號 ,第三種方法是直接用大括號一次把所有元素括起來 Ex:, B = James Bond, 1 2;3 4;5 6; pi, magic(5) C = rand(3), ones(2); zeros(5), randperm(4),B =James Bond 3x2 double 3.1416 5x5 double C = 3x3 double 2x2 double 5x5 double 1x4 double,異值陣列的合併,對於異質(zhì)陣列的合併,大致上跟陣列合併相同 Ex:(B,C如上頁), M = B C% 將異質(zhì)陣列 B 及 C 左右並排 M = James Bo
4、nd3x2 double3x3 double2x2 double 3.14165x5 double5x5 double1x4 double,異質(zhì)陣列的內(nèi)容顯示,直接呼叫?=maybe not 若在 MATLAB 指令視窗內(nèi),直接呼叫異質(zhì)陣列的名稱,MATLAB 並不直接顯示異質(zhì)陣列各元素的值, 只能顯示各元素的資料型態(tài)及維度 Ex: A,Result,A = 1x23 char 1x2 double 3x3 double2x1 cell ,Cellplot圖示型態(tài),cellplot 指令可將異質(zhì)陣列的內(nèi)部資料型態(tài),以圖形的方式顯示 Ex:cell03.m,A1,1 = this is the
5、first cell.; A1,2 = 5+j*6, 4+j*5; A2,1 = 1 2 3; 4 5 6; 7 8 9; A2,2 = Tim; Chris; cellplot(A)% 以圖形的方式顯示異質(zhì)陣列 A 的內(nèi)部資料型態(tài),Result,celldisp顯示,Ex: celldisp(A)% 顯示異質(zhì)陣列 A 各個構(gòu)成元素的實(shí)際內(nèi)容,A1,1 = this is the first cell. A2,1 = 1 2 3 4 5 6 7 8 9 A1,2 = 5.0000 + 6.0000i 4.0000 + 5.0000i A2,21 = Tim A2,22 = Chris,Cont
6、ent Indexing顯示,先前提過建立異質(zhì)陣列的方法 - Content Indexing,其實(shí)也可以用來直接將異質(zhì)陣列 A 的各個構(gòu)成元素內(nèi)容一次全部顯示出來 用法: 要查看A的內(nèi)容,在MATLAB下直接輸入: A:% 顯示異質(zhì)陣列 A 的全部構(gòu)成元素,Result,ans = this is the first cell. ans = 123 456 789 ans = 5.0000 + 6.0000i 4.0000 + 5.0000 ans = Tim Chris,異質(zhì)陣列的內(nèi)容取用,直接取用異質(zhì)陣列的cell 取用異值陣列的元素的內(nèi)部構(gòu)成單位 一次同時(shí)取用或刪除多個元素 異質(zhì)陣列可
7、以取代以逗點(diǎn)分開的變數(shù)列,直接取用異質(zhì)陣列的cell,以下例子先建立一個異質(zhì)陣列 B,再取用其中第 1 橫列、第 2 直行的元素:, B = James Bond, 1 2;3 4;5 6; pi, magic(5),B = James Bond 3x2 double 3.1416 5x5 double,p.s.magic(n)可製造nxn大小的魔方陣,直接取用異質(zhì)陣列的cell (cont), F = B1,2 % 取用異質(zhì)陣列 B 的第 1 橫列、第 2 直行的元素 Result:,F = 12 34 56,取用異值陣列的元素的內(nèi)部構(gòu)成單位,先用 Content Indexing 的方法,
8、再直接加上一般矩陣的索引法 Ex: G = B1,2(3,1),G = 5,同時(shí)取用或刪除多個元素,如上述異質(zhì)陣列B, H = B(2,:)%取用異質(zhì)陣列 B 的第一橫列所有元素 H = 3.1416 5x5 double B(1,:) = %刪除異質(zhì)陣列 B 的第一橫列所有元素 B = 3.1416 5x5 double,取代以逗點(diǎn)分開的變數(shù)列,Ex: %先建立一個維度為 14 的異質(zhì)陣列 F = 2 3 5, 1 2 3, Timmy, Annie; F1:2 ans = 2 3 5 ans = 1 2 3,取代以逗點(diǎn)分開的變數(shù)列,上例中, F1:2 會指向 2 3 5, 1 2 2 可將
9、之用於函數(shù)的輸入變數(shù)列,例如: plot(F1:2, -o) Result:,取代以逗點(diǎn)分開的變數(shù)列(cont),同理,亦可將之用於輸出變數(shù)列: Ex: F1:2 = max(rand(5),F = 1x5 double 1x5 double %F為一1x2的異質(zhì)陣列,其他相關(guān)指令,改變異質(zhì)陣列的大小 事先預(yù)設(shè)(Pre-Allocate)空的異質(zhì)陣列 測試某一變數(shù)是否為異質(zhì)陣列 將一數(shù)值陣列轉(zhuǎn)換成異質(zhì)陣列 將一結(jié)構(gòu)陣列的所有欄位值轉(zhuǎn)換成異質(zhì)陣列 將異值陣列轉(zhuǎn)換為結(jié)構(gòu)陣列 將一結(jié)構(gòu)陣列的某一欄位值轉(zhuǎn)換成異質(zhì)陣列,改變異質(zhì)陣列的大小,可使用:運(yùn)算或reshape Ex:B為2x2異質(zhì)陣列 B =
10、James Bond3x2 double 3.14165x5 double Result:, M = B(:) M = James Bond 3.1416 3x2 double 5x5 double, N = reshape(B,1,4) N = James Bond 3.1416 3x2 double 5x5 double,預(yù)設(shè)空的異質(zhì)陣列,利用 cell 指令 Ex: E = cell(4, 3) % 事先預(yù)設(shè)一個 43 空的異質(zhì)陣列 Result:,E = ,測試某變數(shù)是否為異質(zhì)陣列,可用iscell 指令 Ex:iscell01.m,C = 1,2,3; This is a test.
11、; iscell(C),ans = 1,上例中,iscell 的執(zhí)行結(jié)果是傳回值 1,代表變數(shù) A 是一個異質(zhì)陣列,若傳回值 0,則代表不是異質(zhì)陣列。,將數(shù)值陣列轉(zhuǎn)換成異質(zhì)陣列,num2cell 指令可將一數(shù)值陣列轉(zhuǎn)換成異質(zhì)陣列, 其使用語法為: C = num2cell(A, dim) 其中 dim 是代表 被切割的維度,若不指定,則將每個元素視為異質(zhì)陣列裡面的一個 11 矩陣,將數(shù)值陣列轉(zhuǎn)換成異質(zhì)陣列(cont),Ex:num2cell01.m,A = 1 2 3;4 5 6;% 建立一個數(shù)值陣列 A C = num2cell(A)% 將數(shù)值陣列 A 轉(zhuǎn)成異質(zhì)陣列 C,C = 1 2 3
12、4 5 6,將數(shù)值陣列轉(zhuǎn)換成異質(zhì)陣列(cont),可以將上例數(shù)值陣列 A 中的每一直行, 轉(zhuǎn)成異質(zhì)陣列 D 的元素 Ex::num2cell02.m,A = 1 2 3;4 5 6;% 建立的一個數(shù)值陣列 A D = num2cell(A, 1)% 1 代表橫列被切割,D = 2x1 double 2x1 double 2x1 double,將數(shù)值陣列轉(zhuǎn)換成異質(zhì)陣列(cont),也可以將數(shù)值陣列 A 的每一橫列, 轉(zhuǎn)成異質(zhì)陣列 E 的元素 Ex:num2cell03.m,A = 1 2 3;4 5 6;% 建立的一個數(shù)值陣列 A E = num2cell(A, 2)% 2 代表直行被切割,E
13、= 1x3 double 1x3 double,將結(jié)構(gòu)陣列轉(zhuǎn)換成異質(zhì)陣列,struct2cell 指令可將一結(jié)構(gòu)陣列的所有欄位值轉(zhuǎn)換成異質(zhì)陣列。 Ex:struct2cell01.m, = Tim; student.age = 8;%student為一struct sCell = struct2cell(student),sCell = Tim 8,將異值陣列轉(zhuǎn)換為結(jié)構(gòu)陣列,另外有一個 cell2struct 指令 可以將異值陣列轉(zhuǎn)換為結(jié)構(gòu)陣列 詳細(xì)說明請參考本書的下一章結(jié)構(gòu)陣列。,將結(jié)構(gòu)陣列的某一欄位值轉(zhuǎn)換成異質(zhì)陣列,使用 deal 指令 Ex:deal01.m,S
14、= struct(name,Tim,Annie,age, 8,5); sCell1:length(S) = deal(S.name),sCell = Tim Annie,deal 指令,deal 指令的輸入及輸出引數(shù)需有相同個數(shù) 如上例中,sCell1:length(S) 的作用即是產(chǎn)生以逗點(diǎn)分開的輸出變數(shù)列。 善用 deal 指令,可達(dá)成事半功倍之效, 以下欲列出 MATLAB 根目錄下所有目錄(不含檔案),Ex:deal02.m,dirInfo = dir(matlabroot); % 列出 MATLAB 的根目錄的各種資訊 n = length(dirInfo); % 檔案及目錄的個數(shù) fileAndDir1:n = deal(dirI); %
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026江蘇泰州市興化市部分高中學(xué)校校園招聘教師18人備考筆試試題及答案解析
- 2025南平市延平區(qū)醫(yī)院招聘駕駛員參考筆試題庫附答案解析
- 2025寧夏沙湖旅游股份有限公司招聘6人(第二批)備考考試試題及答案解析
- 2025山東日照市五蓮縣教體系統(tǒng)招聘博士研究生2人筆試考試參考題庫及答案解析
- 2026中國農(nóng)業(yè)科學(xué)院第一批招聘(中國農(nóng)業(yè)科學(xué)院農(nóng)產(chǎn)品加工研究所)模擬筆試試題及答案解析
- 2025山西長治市人民醫(yī)院招聘碩士以上專業(yè)技術(shù)工作人員50人考試參考試題及答案解析
- 2025懷化市教育局直屬學(xué)校公開招聘教職工65人模擬筆試試題及答案解析
- 網(wǎng)安全維護(hù)協(xié)議書
- 耗材質(zhì)保合同范本
- 職工勞務(wù)合同范本
- 建材有限公司砂石卸車作業(yè)安全風(fēng)險(xiǎn)分級管控清單
- 小學(xué)生一、二、三年級家庭獎罰制度表
- 中石化華北分公司鉆井定額使用說明
- 礦山壓力與巖層控制智慧樹知到答案章節(jié)測試2023年湖南科技大學(xué)
- 機(jī)加工車間主任年終總結(jié)3篇
- WB/T 1119-2022數(shù)字化倉庫評估規(guī)范
- GB/T 5125-1985有色金屬沖杯試驗(yàn)方法
- GB/T 4937.3-2012半導(dǎo)體器件機(jī)械和氣候試驗(yàn)方法第3部分:外部目檢
- GB/T 23445-2009聚合物水泥防水涂料
- 我國尾管懸掛器研制(for cnpc)
- 第3章樁基工程課件
評論
0/150
提交評論