Matlab中的括号()[]{}

转自http://blog.sina.com.cn/s/blog_618af1950100lbc3.html
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,1)
  • %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 = {1x2 cell} {1x2 cell}此时D的某个元素内容的引用则为D{1}{1,2}(1)
  • %cell层都需要用大括号引用。

结论:
“胞元标识(cell Indexing)”:以二维胞元数组A为例,A(2,3)是指A胞元数线中的第2行第3列胞元元素
“胞元内容编址(Content Addressing)”:如A{2,3}是指A胞元数组第2行第3列胞元中所允许存放的内容
Matlab中数组,元庖等的关系如下:

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 【1】7,9,-1,5,( ) A、4;B、2;C、-1;D、-3 分析:选D,7+9=16;9+(-1)=8;(...
    Alex_bingo阅读 19,184评论 1 19
  • 数组在程序设计中,为了处理方便, 把具有相同类型的若干变量按有序的形式组织起来。这些按序排列的同类数据元素的集合称...
    朱森阅读 4,024评论 2 13
  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,815评论 1 92
  • 今天下午我去参加家长会员会了。听了王老师的讲话。了解了她是怎么样管制孩子的。我身感惭愧啊!我教育孩子就是拿自己的孩...
    肖琳的妈妈阅读 278评论 0 0
  • 我经常会遇到这样一种情况:在某个大牛或微博或博客或不管什么地方,看到了一个很高大上且不明觉厉的东西,然后按捺不住好...
    梦回吹角连营阅读 585评论 3 7