关于Matlab中括号用法的总结
matlab的语言比较灵活,初学时由于对各种括号的含义不确定,导致经常报错,而且很难查到原因。故对三种括号的用法进行总结,防止遗忘。
(): locate the element, function call
1 a=[1 2]; a(1)
2 sin(2)
[ ]: construct matrix and combine several strings
1 a = [1 2];
2 s = [‘I love ’ ‘Matlab’]
{}: mixed element
a{1} = [1 2]
a{2} = [1 2 3]
a{3} = ‘I love matlab’
{ }是用于元胞数组,即cell,其中的元素可以是不同格式的,如字符和数值,大小也可以不同
[ ] 是用于描述矩阵,初始化或赋值时使用
( ) 是用于提取元素,或函数调用,定义时使用
以上内容摘自ilovematlab论坛shenhailiang和ljelly的回答,对两位前辈表示感谢
示例如下:
>> a
a =
[ 1] [2x2 double]
'abc' {2x2 cell }
>> a(1,1)
ans =
[1]
>> a(1,2)
ans =
[2x2 double]
>> a(2,1)
ans =
'abc'
>> a(2,2)
ans =
{2x2 cell}
>> a{1,1}
ans =
1
>> a{1,2}
ans =
12 34
56 78
>> a{2,1}
ans =
abc
>> a{2,2}
ans =
[1] [2]
[3] [4]
>> b = a(1,1)
b =
[1]
>> c =a{2,1}
c =
abc
>> d = a(1,2)(2,2)
错误: ()-索引必须显示在索引表达式的最后。
>> e = a{1,2}(2,2)
e =
78
>> f = a{1,2}{2,2}
元胞内容引用自非元胞数组对象。
>> g = a{2,2}{2,2}
g =
4
>> h = a(2,2){2,2}
错误: ()-索引必须显示在索引表达式的最后。
>> i = a[1]
i = a[1]
|
错误: 圆括号或方括号不对称或异常。
从上面的实例中可以简单的总结出:
1.对元胞使用(),返回的仍然是元胞
2.对元胞使用{},返回的则是元胞内的值
3.[]仅用于矩阵或者向量