Matlab
中经常会用到括号去引用某
Array
或者是
cell
的内容,但三者有什么具体区别呢?
[ ]
中括号用来构建向量
(Vectors)
或者是矩阵
(Matrices)
。如
[6.9 9.64 sqrt(-1)]
就是一
个有三个元素的向量。
[11 12 13; 21 22 23]
是一个二乘三的矩阵
.
分号
(;)
用来结束一
行。
中括号的另一个作用是在函数中,分配输出参数。
{ }
大括号,用于
cell
型的数组的分配或引用。
比如
A(2,1) = {[1 2 3; 4 5 6]}
, or
A{2,2} = (‘str’)
( )
小括号,用于引用数组的元素。
如
X(3)
就是
X
的第三个元素。
X([1 2 3])
就是
X
的头三个元素。
算例:
A = [ 1 2 3 ]
%A
就是一个三个元素的数值数组。中括号用于构建非
cell
数组。
%
数组的引用用小括号
A(1,2)
%A(1,2)
得到
A
数组第一行第二列的元素。
B = {A A}
%B
为
1
一行两列的数组,数组的元素为
cell
%
数组的引用依然用小括号
B(1)
%
这时
B(1)
为一个
cell
%cell
内容的引用需要用大括号。
%B{1}
则为
cell 1
的内容,此时为
1 2 3
%cell
内容为数值数组的,继续用小括号引用其内容
B{1}(1,3)
%B{1}(1,3)
的内容为
3.
D={B B}
D =
{1×2 cell}
{1×2 cell}
此时
D
的某个元素内容的引用则为
D{1}{1,2}(1)
%cell
层都需要用大括号引用。