ImageVerifierCode 换一换
格式:PPT , 页数:38 ,大小:162.50KB ,
资源ID:300469      下载积分:20 文钱
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,省得不是一点点
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.wenke99.com/d-300469.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(MATLAB程式设计入门篇异质阵列.PPT)为本站会员(天***)主动上传,文客久久仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知文客久久(发送邮件至hr@wenke99.com或直接QQ联系客服),我们立即给予删除!

MATLAB程式设计入门篇异质阵列.PPT

1、MATLAB 程式設計入門篇異質陣列,張智星jangcs.nthu.edu.twhttp:/www.cs.nthu.edu.tw/jang清大資工系 多媒體檢索實驗室,本章重點,異質陣列(Cell Arrays) MATLAB 在第五版之後才支援的資料型態 主要功能將不同的資料型態儲存於同一個陣列之中本章重點建立異質陣列顯示異質陣列取用異質陣列,異質陣列(Cell Arrays),可儲存各種不同型態的 MATLAB 資料Cell Arrays = 盒子陣列!?異質 = 不同性質的資料型態,建立異質陣列 - Cell Indexing,Ex:cell01.M,A(1,1) = This is t

2、he 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),上例建立了一個二維異質陣列A:2*2內容如下:,建立異質陣列 - Content Indexing,做法:矩陣() 異質陣列 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,結果同上例,建立異質陣列 使用大括號 ,第

3、三種方法是直接用大括號一次把所有元素括起來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 doubleC = 3x3 double 2x2 double5x5 double 1x4 double,異值陣列的合併,對於異質陣列的合併,大致上跟陣列合併相同Ex:(B,C如上頁), M = B C% 將異質陣列 B 及 C 左右並排M = James Bond3x2 double3x3 doubl

4、e2x2 double 3.14165x5 double5x5 double1x4 double,異質陣列的內容顯示,直接呼叫?=maybe not若在 MATLAB 指令視窗內,直接呼叫異質陣列的名稱,MATLAB 並不直接顯示異質陣列各元素的值,只能顯示各元素的資料型態及維度Ex: A,Result,A = 1x23 char 1x2 double3x3 double2x1 cell ,Cellplot圖示型態,cellplot 指令可將異質陣列的內部資料型態,以圖形的方式顯示Ex:cell03.m,A1,1 = this is the first cell.;A1,2 = 5+j*6,

5、4+j*5;A2,1 = 1 2 3; 4 5 6; 7 8 9;A2,2 = Tim; Chris;cellplot(A)% 以圖形的方式顯示異質陣列 A 的內部資料型態,Result,celldisp顯示,Ex: celldisp(A)% 顯示異質陣列 A 各個構成元素的實際內容,A1,1 =this is the first cell.A2,1 = 1 2 3 4 5 6 7 8 9A1,2 = 5.0000 + 6.0000i 4.0000 + 5.0000iA2,21 =TimA2,22 =Chris,Content Indexing顯示,先前提過建立異質陣列的方法 - Conten

6、t Indexing,其實也可以用來直接將異質陣列 A 的各個構成元素內容一次全部顯示出來用法:要查看A的內容,在MATLAB下直接輸入: A:% 顯示異質陣列 A 的全部構成元素,Result,ans =this is the first cell.ans =123456789ans =5.0000 + 6.0000i 4.0000 + 5.0000ans = TimChris,異質陣列的內容取用,直接取用異質陣列的cell取用異值陣列的元素的內部構成單位一次同時取用或刪除多個元素異質陣列可以取代以逗點分開的變數列,直接取用異質陣列的cell,以下例子先建立一個異質陣列 B,再取用其中第 1

7、 橫列、第 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大小的魔方陣,直接取用異質陣列的cell (cont), F = B1,2% 取用異質陣列 B 的第 1 橫列、第 2 直行的元素Result:,F =123456,取用異值陣列的元素的內部構成單位,先用 Content Indexing 的方法,再直接加上一般矩陣的索引法Ex: G = B1,2(3,1),G = 5,同時取用或刪除多個元素,如上述異質陣列

8、B, H = B(2,:)%取用異質陣列 B 的第一橫列所有元素H = 3.1416 5x5 double B(1,:) = %刪除異質陣列 B 的第一橫列所有元素B = 3.1416 5x5 double,取代以逗點分開的變數列,Ex: %先建立一個維度為 14 的異質陣列 F = 2 3 5, 1 2 3, Timmy, Annie; F1:2 ans = 2 3 5ans = 1 2 3,取代以逗點分開的變數列,上例中, F1:2 會指向 2 3 5, 1 2 2可將之用於函數的輸入變數列,例如: plot(F1:2, -o)Result:,取代以逗點分開的變數列(cont),同理,亦可

9、將之用於輸出變數列:Ex: F1:2 = max(rand(5),F = 1x5 double 1x5 double%F為一1x2的異質陣列,其他相關指令,改變異質陣列的大小事先預設(Pre-Allocate)空的異質陣列測試某一變數是否為異質陣列將一數值陣列轉換成異質陣列將一結構陣列的所有欄位值轉換成異質陣列將異值陣列轉換為結構陣列將一結構陣列的某一欄位值轉換成異質陣列,改變異質陣列的大小,可使用:運算或reshapeEx:B為2x2異質陣列B = James Bond3x2 double 3.14165x5 doubleResult:, M = B(:)M = James Bond 3.1

10、416 3x2 double 5x5 double, N = reshape(B,1,4)N = James Bond 3.1416 3x2 double 5x5 double,預設空的異質陣列,利用 cell 指令Ex: E = cell(4, 3)% 事先預設一個 43 空的異質陣列Result:,E = ,測試某變數是否為異質陣列,可用iscell 指令Ex:iscell01.m,C = 1,2,3; This is a test.;iscell(C),ans = 1,上例中,iscell 的執行結果是傳回值 1,代表變數 A 是一個異質陣列,若傳回值 0,則代表不是異質陣列。,將數值陣

11、列轉換成異質陣列,num2cell 指令可將一數值陣列轉換成異質陣列, 其使用語法為:C = num2cell(A, dim)其中 dim 是代表 被切割的維度,若不指定,則將每個元素視為異質陣列裡面的一個 11 矩陣,將數值陣列轉換成異質陣列(cont),Ex:num2cell01.m,A = 1 2 3;4 5 6;% 建立一個數值陣列 AC = num2cell(A)% 將數值陣列 A 轉成異質陣列 C,C = 1 2 3 4 5 6,將數值陣列轉換成異質陣列(cont),可以將上例數值陣列 A 中的每一直行, 轉成異質陣列 D 的元素Ex::num2cell02.m,A = 1 2 3

12、;4 5 6;% 建立的一個數值陣列 AD = num2cell(A, 1)% 1 代表橫列被切割,D = 2x1 double 2x1 double 2x1 double,將數值陣列轉換成異質陣列(cont),也可以將數值陣列 A 的每一橫列, 轉成異質陣列 E 的元素Ex:num2cell03.m,A = 1 2 3;4 5 6;% 建立的一個數值陣列 AE = num2cell(A, 2)% 2 代表直行被切割,E = 1x3 double1x3 double,將結構陣列轉換成異質陣列,struct2cell 指令可將一結構陣列的所有欄位值轉換成異質陣列。Ex:struct2cell01

13、.m,student.name = Tim;student.age = 8;%student為一structsCell = struct2cell(student),sCell = Tim 8,將異值陣列轉換為結構陣列,另外有一個 cell2struct 指令可以將異值陣列轉換為結構陣列詳細說明請參考本書的下一章結構陣列。,將結構陣列的某一欄位值轉換成異質陣列,使用 deal 指令Ex:deal01.m,S = struct(name,Tim,Annie,age, 8,5); sCell1:length(S) = deal(S.name),sCell = Tim Annie,deal 指令,d

14、eal 指令的輸入及輸出引數需有相同個數如上例中,sCell1:length(S) 的作用即是產生以逗點分開的輸出變數列。善用 deal 指令,可達成事半功倍之效,以下欲列出 MATLAB 根目錄下所有目錄(不含檔案),Ex:deal02.m,dirInfo = dir(matlabroot);% 列出 MATLAB 的根目錄的各種資訊n = length(dirInfo);% 檔案及目錄的個數fileAndDir1:n = deal(dirInfo.name);% fileAndDir 包含檔案及目錄名稱dirs = fileAndDir(dirInfo.isdir)% dirs 包含各目錄名稱,Result,dirs = Columns 1 through 10. .bindemosexternhelpjajavanotebookrtwColumns 11 through 17simulinkstateflowsystoolboxuninstallwebserverwork,本章指令彙整,

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。