- MATLAB/Simulink權威指南:開發環境、程序設計、系統仿真與案例實戰
- 徐國保 張冰 石麗梅 吳凡
- 907字
- 2019-12-20 20:33:28
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是重定義的多維數組,要求定義后的維度不少于原數組的維度,而且各維度數不能相同。
例如:

- Internet接入·網絡安全
- ETL with Azure Cookbook
- 3D Printing with RepRap Cookbook
- Getting Started with Clickteam Fusion
- 輕松學Java
- 可編程控制器技術應用(西門子S7系列)
- Windows Server 2008 R2活動目錄內幕
- Photoshop行業應用基礎
- Godot Engine Game Development Projects
- 機器人人工智能
- 在實戰中成長:C++開發之路
- 青少年VEX IQ機器人實訓課程(初級)
- 精通ROS機器人編程(原書第2版)
- 工程地質地學信息遙感自動提取技術
- Learning OpenShift