size(a)表示矩陣每個維度的長度
比如size([1 2 3;4 5 6])
等於[2 3]
表示他有2行3列
size([1 2 3])
等於[1 3]
表示他有1行3列
另外size(a,n)表示矩陣a在第n個維度下的長度。
比如size([1 2 3;4 5 6],1)
等於2,表示有2行
size([1 2 3;4 5 6],2)
等於3,表示有3列
length(a)表示矩陣a的最大的長度,即max(size(a))
比如length([1 2 3;4 5 6])
等於3,因為2和3中最大是3
當a是向量時,即表示向量的元素個數,因為向量總是1×n或n×1的,而n一定大於或等於1.所以得到的結果一定是n
ndims(a)表示矩陣a的維數,即length(size(a))
比如ndims([1 2 3;4 5 6])
等於2,因為他是二維矩陣
matlab認為向量也是二維矩陣,只不過其中一個維度的長為1.
因此ndims([1 2 3])也等於2
我們可以構造一個三維甚至更高維度的矩陣,
比如a=cat(3,[1 2 3 4;5 6 7 8],[9 8 7 6;5 4 3 2])
他除了行和列以外還有一個維度,我們暫且把它叫做高度。
也就是說a有兩層,第一層是[1 2 3 4;5 6 7 8],第二層是[9 8 7 6;5 4 3 2]
此時有size(a)=[2 4 2]
即2行4列2層
length(a)=4
([2 4 2]中最大為4)
ndims(a)=3
(因為他有3個維度)