若要建立一個簡單的多維陣列,可直接經由 MATLAB 指令視窗內輸入,例如
在上例中,是先建立一個二維陣列 A ,再輸入第二頁的二維陣列 A(:,:,2) ,依此方式逐頁輸入二維陣列的內容,即可建立三維陣列。如果直接設定某一個新頁的一個元素值,此時MATLAB 會將此頁其他未指定之元素直接設定為 0 ,例如:
我們也可以使用 MATLAB 的純量展開(Scalar Expansion)的功能,直接設定一個純量給多維陣列的一頁,例如,若要將陣列 A 的第二頁的所有元素設為 7,可輸入如下:
對於較複雜的多維陣列,可用 cat 指令來建立,其功能為「並排」數個陣列,並可指定「並排」時所用的維度,其指令格式如下:
Z = cat(dim, A, B, C…)
其中 A、B、C 為陣列,dim 是將 A、B、C… 合併時所用到的維度。例如:欲將矩陣 A 與 B 上下(垂直)並排,可輸入:
若欲將陣列 A 與 B 左右(水平)並排,可輸入:
若欲將陣列 A 與 B 疊起來,以得到一個三維陣列,可輸入:
若所設定的 dim 值比陣列 A、B、C…的各自原先的「維度數」(Dimensionality)還要超出 2 或更多,則 MATLAB 會自動補上大小為 1 的維度,例如:
此時陣列 Z 的維度變為 2×2×1×2。(讀者可以想像這是分成兩箱的多維陣列,每一箱各有一頁,每一頁都是 2×2 的矩陣。 )
MATLAB 亦可產生特殊用途的多維陣列,例如:若要產生一個維度是 2×3×5 的亂數陣列,可用 rand 指令:
類似的指令,還有 randn、ones、zeros 等用來產生特殊用途的矩陣,詳見本書第九章「矩陣的處理與運算」的第二節「特殊用途矩陣」。
MATLAB程式設計:入門篇