###2.3.1 多維數(shù)組的創(chuàng)建
在MATLAB中創(chuàng)建和使用一維和兩維數(shù)組十分靈活,同樣MATLAB也提供了靈活多樣的創(chuàng)建多維數(shù)組的方法,使得用戶可以根據(jù)自己所創(chuàng)建多維數(shù)組的特征選取不同的創(chuàng)建方法。其中最常用的創(chuàng)建方法有:第一通過“全下標(biāo)”元素賦值方式創(chuàng)建多維數(shù)組;第二由函數(shù)ones、zeros、rand和randn直接創(chuàng)建多維數(shù)組;第三借助構(gòu)造函數(shù)創(chuàng)建多維數(shù)組。下面通過示例講解如何使用不同的方法創(chuàng)建多維數(shù)組。
(1)通過“全下標(biāo)”元素賦值方式創(chuàng)建多維數(shù)組
【例2.15】“全下標(biāo)”方式創(chuàng)建多維數(shù)組
在MATLAB命令行窗口中輸入以下命令,創(chuàng)建一個(gè)二維的四階魔方陣:>> A=magic(4) %生成一個(gè)二維的四階魔方陣
以矩陣A為基礎(chǔ),通過直接定義數(shù)組的第三維的方式,創(chuàng)建一個(gè)三維數(shù)組。在命令窗口中輸入:>> A(:,:,2)=rand(4) %四階的隨機(jī)陣
上述語句的執(zhí)行結(jié)果如下所示。A(:,:,1) =<br/>16 2 3 13<br/>5 11 10 8<br/>9 7 6 12<br/>4 14 15 1
A(:,:,2) =<br/>0.4451 0.8462 0.8381 0.8318<br/>0.9318 0.5252 0.0196 0.5028<br/>0.4660 0.2026 0.6813 0.7095<br/>0.4186 0.6721 0.3795 0.4289
(2)由函數(shù)ones、zeros、rand和randn
直接創(chuàng)建多維數(shù)組
前面介紹到了使用函數(shù)ones、zeros、rand和randn
可以直接生成二維數(shù)組,除了生成二維數(shù)組的功能外,這些函數(shù)還可以生成多維數(shù)組。
【例2.16】用函數(shù)
ones、zeros、rand和randn
直接創(chuàng)建三維隨機(jī)數(shù)組>> A=rand(4,5,3) %創(chuàng)建三維隨機(jī)數(shù)組
>> B=ones(4,2,6) %創(chuàng)建三維的單位矩陣
>> C=zeros(4,6,8); %創(chuàng)建三維的零值矩陣
(3)借助構(gòu)造函數(shù)創(chuàng)建多維數(shù)組 多維數(shù)組的構(gòu)造函數(shù)很多,如 cat、repmat、reshape 等,在這里主要介紹幾個(gè)常用的構(gòu)造函數(shù)。表2.5所示為使用cat, repmat和reshape 函數(shù)構(gòu)造多維數(shù)組的函數(shù)調(diào)用格式和函數(shù)描述。 |
函數(shù)名 | 調(diào)用格式 | 函數(shù)描述 |
---|---|---|---|
Cat | A=cat(n,A1,A2,…,Am) | n=1和n=2時(shí)分別構(gòu)造[A1;A2]和[A1,A2],它們都是二維數(shù)組,而n=3時(shí)可以構(gòu)造出三維數(shù)組 | |
repmat | repmat(p,行 列 頁 ……) | 第一個(gè)輸入變量p是用來放置的模塊數(shù)組,后面的變量是要放置指定的維數(shù)。 | |
reshape | reshape(p,行 列 頁 ……) | 第一個(gè)變量是待重組的數(shù)組p,后面的變量是重新生成數(shù)組的行數(shù)、列數(shù)、頁數(shù)等。 |
【例2.17】構(gòu)造函數(shù)
cat、repmat、reshape
創(chuàng)建多維數(shù)組
首先生成構(gòu)造函數(shù)使用的兩個(gè)矩陣A和B,具體如下:>> A=rand(4) %二維數(shù)組A
>> B=rand(4) %二維數(shù)組B
以下使用cat
函數(shù)生成一個(gè)新的二維數(shù)組n=2,在命令窗口中輸入:>> C=cat(2,A,B)
使用cat
函數(shù)生成一個(gè)新的三維數(shù)組n=3,在命令窗口中輸入:>> D=cat(3,A,B)
注意:使用
reshape
函數(shù)時(shí)要注意新生成的矩陣元素?cái)?shù)量不變,否則無法生成。
###2.3.2 多維數(shù)組的標(biāo)識(shí) MATLAB中提供了許多指令可以用來判斷數(shù)組的維數(shù)和大小等操作的函數(shù),給用戶使用數(shù)組帶來很大的方便,尤其是在使用多維數(shù)組的情況下,可以方便的查看多維數(shù)組的一些信息。如表2.5所示,列出了幾個(gè)常用的函數(shù)。 |
函數(shù)名 | 功能 |
---|---|---|
ndims (P) | 返回?cái)?shù)組P的維數(shù) | |
[m,n,…]=size(P) | 返回?cái)?shù)組P各維的大小 | |
m=size(P,x) | 返回?cái)?shù)組P某一維的大小 | |
length(P) | 返回?cái)?shù)組P的行數(shù)或列數(shù)的大值 | |
max(size(P)) | 返回?cái)?shù)組P的行數(shù)或列數(shù)的大值,與length(P)的功能相同 |
【例2.18】以三維數(shù)組A為例,查看矩陣的維數(shù)、各維大小以及所有維中大長度。
>> A=rand(4,5,2) %生成三維均勻分布的隨機(jī)數(shù)組A
①使用ndims函數(shù)查看數(shù)組A維數(shù),在命令窗口中輸入:>> ndims(A)
返回?cái)?shù)組A的維數(shù)顯示如下:ans = 3
②使用size函數(shù)查看數(shù)組A中各維的大小,在命令窗口中輸入:>> size(A) %查看數(shù)組A中各維的大小
返回?cái)?shù)組A中各維的大小顯示如下:ans = 4 5 2
③使用length函數(shù)查看數(shù)組A各維中的大長度,在命令窗口中輸入:>> length(A)
返回?cái)?shù)組A各維中的大長度顯示如下:ans = 5
作者:德特?cái)?shù)據(jù)
聯(lián)系方式:156204968@qq.com
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
當(dāng)前文章:MATLAB編程與應(yīng)用系列-第2章數(shù)組及矩陣的創(chuàng)建及操作(4)-創(chuàng)新互聯(lián)
本文地址:http://aaarwkj.com/article32/jdepc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供營銷型網(wǎng)站建設(shè)、面包屑導(dǎo)航、域名注冊(cè)、建站公司、關(guān)鍵詞優(yōu)化、手機(jī)網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容