官术网_书友最值得收藏!

2.6 多維數組

多維數組(Multidimensional Arrays)是三維及以上的數組。三維數組是二維數組的擴展,二維數組行和列構成面,三維數組可以看成行、列和頁構成的“長方體”,實際中三維數組用得比較多。

三維數組用3個下標表示,數組的元素存放遵循規則:第一頁第一列接該頁的第二列、第三列,以此類推;第一頁最后一列接第二頁第一列,直到最后一頁最后一列結束。

四維數組和三維數組有些類似,使用4個下標表示,更高維的數組是在后面添加維度來確定頁。

2.6.1 多維數組的創建

多維數組的創建一般有4種方法:直接賦值法、二維數組擴展法、使用cat函數創建法和使用特殊數組函數法。

1.直接賦值法

例如,創建三維數組A。

2.二維數組擴展法

MATLAB可以利用二維數組擴展到三維數組,例如:

如果第一頁不賦值,直接賦值第二頁,那么也能產生三維數組,第一頁值全默認為0,例如:

3.使用函數cat創建法

MATLAB語言可以使用cat函數,把幾個原先賦值好的數組按照某一維連接起來,創建一個多維數組。函數調用格式如下:

例如,使用cat函數創建多維數組:

4.使用特殊數組函數法

MATLAB語言提供了許多創建特殊多維矩陣的函數,例如rand、randn、ones和zeros等,這些函數都可以創建多維特殊矩陣。函數的功能和使用方法與二維特殊矩陣類似。

例如:

2.6.2 多維數組的操作

MATLAB多維數組操作主要有數組元素的提取、多維數組形狀的重排和維度重新排序。

1.多維數組元素的提取

提取多維數組元素的方法有兩種:全下標方式和單下標方式。

1)全下標法

例如:

2)單下標法

MATLAB單下標取多維數組的元素遵循規則:第一頁第一列,然后第一頁第二列,然后第一頁最后一列,然后第二頁第一列,直到最后一頁最后一列。

例如:

2.多維數組形狀的重排

MATLAB語言可以利用函數reshape改變多維數組的形狀,函數的調用格式如下:

其中,m、n和p分別是行、列和頁,A1是重排的多維數組。數組還是按照單下標方式存儲順序重排,重排前后元素數據大小沒變,位置和形狀會改變。

例如:

3.多維數組維度的重新排序

MATLAB語言可以利用函數permute重新定義多維數組的維度順序,按照新的行、列和頁重新排序數組,permute改變了線性存儲的方式,函數的調用格式如下:

其中,m、n和p分別是列、行和頁,A1是重定義的多維數組,要求定義后的維度不少于原數組的維度,而且各維度數不能相同。

例如:

主站蜘蛛池模板: 瑞金市| 精河县| 许昌县| 北流市| 文水县| 儋州市| 育儿| 固镇县| 普安县| 临汾市| 咸宁市| 金阳县| 枣庄市| 十堰市| 高清| 岱山县| 佛山市| 文山县| 麦盖提县| 赤城县| 山东| 丰台区| 北川| 永仁县| 日喀则市| 洪雅县| 衡水市| 尼勒克县| 盈江县| 铅山县| 五原县| 柏乡县| 洛隆县| 兴山县| 永康市| 封开县| 昌平区| 安阳市| 积石山| 海安县| 伽师县|