《多维阵列》PPT课件.ppt

上传人:wuy****n92 文档编号:53443884 上传时间:2022-10-26 格式:PPT 页数:27 大小:77KB
返回 下载 相关 举报
《多维阵列》PPT课件.ppt_第1页
第1页 / 共27页
《多维阵列》PPT课件.ppt_第2页
第2页 / 共27页
点击查看更多>>
资源描述

《《多维阵列》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《多维阵列》PPT课件.ppt(27页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、MATLAB程式設計第11章多維陣列張智星/jang清大資工系多媒體檢索實驗室11-1多維陣列的定義n在MATLAB的資料型態中,向量可視為一維陣列,矩陣可視二維陣列,對於維度(Dimensions)超過1的陣列則均可視為多維陣列(MultidimesionalArrays,簡稱N-DArrays)。二維陣列(I)n二維陣列又簡稱矩陣,具有兩個維度(Dimensions)n橫列(Row)n直行(Column)(1,1)(1,2)(1,3)(1,4)(2,1)(2,2)(2,3)(2,4)(3,1)(3,2)(3,3)(3,4)直行橫列二維陣列(II)n二維陣列,可對應至一個X-Y二維平面座標,

2、圖示如下:Y(行)X(列)三維陣列(I)n將兩個二維陣列疊在一起,就形成第三個維度,此第三個維度稱為頁(Page),圖示如下:(1,1)(1,2)(1,3)(1,4)(2,1)(2,2)(2,3)(2,4)(3,4)(1,1)(1,2)(1,3)(1,4)(2,1)(2,2)(2,3)(2,4)(3,1)(3,2)(3,3)(3,4)頁行頁列三維陣列(II)n三維陣列,可對應至一個X-Y-Z三維立體座標,圖示如下:Z(頁)Y(行)X(列)三維陣列(III)n三維陣列定址,可以(列,行,頁)定之。n以維度為342的三維陣列為例,其定址方式可圖示如下:n陣列A是三維陣列,其中A(:,:,1)代表第

3、一頁的二維陣列,A(:,:,2)代表第二頁的二維陣列。四維陣列n四維陣列的第四個維度可視為箱(Box),而每個箱是由一個三維陣列所組成,其定址方式為(列,行,頁,箱)。n一個2235的四維陣列,可表示成5個箱,每個箱都由一個223的三維陣列所組成,圖示如下:n可類推至n維陣列,n為任意自然數。11-2多維陣列的建立n建立一個簡單的多維陣列,可直接由MATLAB指令視窗內輸入n範例11-1:A=1025;4187;3263;A(:,:,2)=3541;2621;4230A(:,:,1)=102541873263A(:,:,2)=354126214230多維陣列直接設定範例11-2(I)n上例是先

4、建立一個二維陣列A,再輸入第二頁的二維陣列A(:,:,2),逐頁輸入二維陣列的內容,即可建立三維陣列。n如果直接設定某一個新頁的一個元素值,此時MATLAB會將此頁其他未指定之元素直接設定為0,範例如下:多維陣列直接設定範例11-2(II)n範例11-2:A=1025;4187;3263;A(:,:,2)=3541;2621;4230;A(2,1,3)=5A(:,:,1)=102541873263A(:,:,2)=354126214230A(:,:,3)=000050000000純量展開功能(ScalarExpansion)(I)nMATLAB第五版新增純量展開(ScalarExpansion

5、)功能,直接設定一個純量給多維陣列的一頁。n承接上述範例,若要將陣列A的第二頁所有元素設為7,可輸入:A(:,:,2)=7純量展開功能(ScalarExpansion)(II)A(:,:,2)=7 A(:,:,1)=102541873263A(:,:,2)=777777777777A(:,:,3)=000050000000垂直並排多維陣列範例11-3(I)n對於較複雜的多維陣列,可用cat指令來建立,其功能為並排數個陣列,並可指定並排時所用的維度n其指令格式如下:Z=cat(dim,A,B,C)nA、B、C為陣列ndim是將A、B、C合併時所用到的維度。垂直並排多維陣列範例11-3(II)n欲

6、將矩陣A與B上下(垂直)並排n範例11-3:A=12;34;B=10;01;Z=cat(1,A,B)%數字1表示將陣列A與B上下垂直並排Z=12341001水平並排多維陣列範例11-4n欲將陣列A與B左右(水平)並排n範例11-4:A=12;34;B=10;01;Z=cat(2,A,B)%數字2表示將陣列A與B左右水平並排Z=12103401 陣列堆疊範例11-5n將陣列A與B疊起來,得到一個三維陣列n範例11-5:A=12;34;B=10;01;Z=cat(3,A,B)%數字3表示將陣列A與B重疊排成三維陣列Z(:,:,1)=1234Z(:,:,2)=1001cat自動補齊維度範例11-6n

7、所設定的dim值比陣列A、B、C的各自原先的維度數(Dimensionality)還要超出2或更多,MATLAB會自動補上大小為1的維度n此時陣列Z的維度變為2212n範例11-6:A=12;34;B=10;01;Z=cat(3,A,B)%數字4表示將陣列A與B放在相鄰的兩箱Z(:,:,1,1)=1324Z(:,:,1,2)=1211亂數陣列(I)nMATLAB可產生特殊用途的多維陣列n要產生一個維度是235的亂數陣列,可用rand指令 A=rand(2,3,5)A(:,:,1)=A(:,:,2)=亂數陣列(II)n類似的指令,詳見本書第九章矩陣的處理與運算的第二節特殊用途矩陣A(:,:,3)

8、=A(:,:,4)=A(:,:,5)=11-3多維陣列的數學運算n許多用於向量和矩陣的數學運算,例如sum、max、min、mean等,也都可以用在多維陣列。n在使用這些指令時,我們必須指定這些指令的操作是在哪一個維度。多維陣列運算維度指定範例11-7(I)n範例11-7:A=1111;2222;3333;B=0000;1111;1234;Z=cat(3,A,B);%將矩陣A,B疊成一個三維陣列S=sum(Z,1)%根據第一維度來對元素進行相加S(:,:,1)=6666S(:,:,2)=2345ans=142多維陣列運算維度指定範例11-7(II)n上述範例,矩陣Z的大小是342,sum(Z,

9、1)是根據第一個維度來進行相加,因此第一個維度值就會被被壓成是1,因此size(S)所傳回的值是1,4,2,代表矩陣S的大小是142nsum(Z)的預設相加維度即是1,因此sum(Z)和sum(Z,1)所得到的結果是一樣的。多維陣列運算維度指定範例11-8(I)n對第二個維度進行相加,可見下列範例。n範例11-8:A=1111;2222;3333;B=0000;1111;1234;Z=cat(3,A,B);%將矩陣A,B疊成一個三維陣列S=sum(Z,2)%根據第二維度來對元素進行相加S(:,:,1)=4812多維陣列運算維度指定範例11-8(II)n在上述範例中,sum(Z,2)是對第二個維

10、度進行相加運算,因此所傳回的矩陣S的維度是312。S(:,:,2)=0410ans=312sum的累加範例11-9(I)n如果所要相加的維度只有單一維度,那麼sum指令會對下一個維度進行相加的動作,nsum(sum(Z)將會得到三維陣列Z的每一頁的總和。sum的累加範例11-9(II)n範例11-9:n與 sum 類似的指令還有 max、min、mean、median、mode、std、diff、sort 等,可以參考第九章的第三小節矩陣的數學運算。A=1111;2222;3333;B=0000;1111;1234;Z=cat(3,A,B);%將矩陣A,B疊成一個三維陣列S=sum(sum(Z)S(:,:,1)=24S(:,:,2)=14

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 初中资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com