Matlab中经常会用到括号去引用某Array或者是cell的内容,但三者有什么具体区别呢?
1. [ ]
中括号用来构建向量(Vectors)或者是矩阵(Matrices)。
如
[6.9 9.64 sqrt(-1)] 就是一个有3个元素的向量。
[11 12 13; 21 22 23]
是一个2*3的矩阵。
分号(;)用来结束一行。中括号的另一个作用是在函数中,分配输出参数。
2. { }
大括号,用于cell型的数组的分配或引用。
cell型数组就是说该单位是由矩阵构成的大矩阵。
比如
A(2,1) = {[1 2 3; 4 5 6]}
, or A{2,2} = ('str')
3. ( )
小括号,用于引用数组的元素。
如 X(3)就是X的第三个元素。
X([1 2 3])就是X的头三个元素。
算例:
A = [ 1 2 3 ] %A就是一个三个元素的数值数组。中括号用于构建非cell数组。
A(1,1)=1 %数组的引用用小括号
A(1,2)=2 %得到A数组第一行第二列的元素。
B = {A A} %B为1一行两列的数组,数组的元素为cell
B(1) %数组的引用依然用小括号,这时B(1)为一个cell
B{1} %cell内容的引用需要用大括号
D =
此时D的某个元素内容的引用则为
D{1}{1,2}(1)
%cell层都需要用大括号引用。
Matlab中数组,元庖等的关系如下:
参考文献:
help cell
help paren
http://www.advancedmcode.org/?p=2921&preview=true