在matlab 中,常常会遇到(),[],和{},这个3种符号怎么区分,怎么用,这里我来总结一下,供参考。
1、小括号( )主要用于引v数组的元素
2、中括号[ ]主要用于存储矩阵和向量
3、大括号{ }主要用于 cell型数组的分配及引用
一、小括号( )的使用
1.主要功能表现为引用数组
使用圆括号访问数组元素,还可以使用t号:表示全部。
圆括号跟在函数后,填写函数的形参
改变运算的优先级
(1)单个引用
(2)多个引用
二、中括号[ ]的使用
主要功能表现为存储矩阵和向量
中括号可以用于拼接数组 如下我们有两个数组A和B。 [A,B]相当于水平拼接A和B,即horzcat(A,B) [A;B]相当于垂直拼接A和B,即vertcat(A,B)
使用中括号[]可以进行连续/多层拼接。 比如[C,[A;B]],A与B上下拼接,C与[A;B]左右拼接
中括号可以用来清空或删除元素 只有中)号[]表示一个空数组。 A(1,:)=[]表示删去A的第一行; A(:,1)=[]表示删去A的第一列。
用来接收有多个返回值的函数
(1)简单向量使用
(2)普通矩阵存储
三、大括号{}的使用
┮用于cell型(单元)数组的分配及引用
(1)cell型数组的创建(单元数组)
(2)cell型数组的赋值
对于这类单元数组而言,采用大括号{ }进行引用而不是小括号。
总结
以上三类括号的区分,大括号{ }最容易区分因其常用于cell(单元)数组中。中括号[ ]用于存储赋值矩阵及向量。小括号应用的比较广泛,相比另外两个括号它主要用来引用数组的各个元素。
[]
首先。[]叫中括号,它用来存储矩阵和向量(vector 在C++中也叫容器)
举个例子,a=[1,2,3],是一个向量,这个向量有3个元素,也可以用a=[1 2 3]
eg:
>> a=[1,2,3]
a =
1 2 3
>>a=[1 2 3]
a =
1 2 3
对于a=[1 2 3;2 3 4 ;3 4 5],就是一个3*3矩阵
>> a=[1 2 3;2 3 4 ;3 4 5]
a =
1 2 3
2 3 4
3 4 5
{ }
大括号,用于cell型的数组(就是前面讲的单元数组)的分配或引用。
比如 a{3,3}=‘china’就是建立了一个3*3的单元数组,a(3,3)就是‘china’
比如c={‘china’,’中国’,[1 2 3 4]}运行结果如下
>> c={‘china’,’中国’,[1 2 3 4]}
c =
'china' '中国' [1x4 double]
比如:A(2,1) = {[1 2 3; 4 5 6]},就是一个2行一列i单元数组,第二行第一列的元素就是[1 2 3;4 5 6]的2*1矩阵
( )
小括号,用于引用数组的元素。
如 X(3)就是X的第三个元素。 X([1 2 3])就是X的头三个元素。
这里用[]建立一个非cell数组。a=[1 2 2],则a(1,2)就是访问的a数组的第一行第2列元素,为2.
最后看一下单元数组和普通数组的关系。
比如我建立了一个单元数组:
a=cell(2,3)
a(1,2)=’china’;%这种写法是错的
a{1,2}=’china’%这种写法才对
因为大括号才代表单元数组赋值,小括号只能是普通数组中的元素
如下
a{1,3}=[1 2 3;2 3 4];
b=a{1,3}(1,3)%这样才能取出上面2*3矩阵中的元素
运行如下
>> clear all;
>> a=cell(2,3)
a =
[] [] []
[] [] []
>>a{1,2}='china'
a =
[] 'china' []
[] [] []
>>a{1,3}=[1 2 3;2 3 4]
a =
[] 'china' [2x3 double]
[] [] []