Matlab中的括号()[]{}

Matlab中的括号()[]{}

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层都需要用大括号引用。

Matlab中数组,元庖等的关系如下:

参考文献:
help cell
help paren
http://www.advancedmcode.org/?p=2921&preview=true

时间: 2024-10-14 19:16:15

Matlab中的括号()[]{}的相关文章

【转】Matlab中的括号()[] {}

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')( )小括号

matlab中函数的句柄是什么意思?有什么作用?

比定义f(x)=x^2写[email protected](x)(x.^2)其@(x)(x.^2)匿名函数第括号面自变量第二括号面表达式@函数指针[email protected](x)(x.^2)表示匿名函数@(x)(x.^2)赋值给f于f表示该函数于f(2)=2.^2=4:f(1:3)=[1:3].^2=[1 4 9]等等 定义匿名函数调用别匿名函数比[email protected](x,y)(x.^2+y.^2)定义函数x^2+y^2[email protected](t)(f1(t,2

Matlab中使用jython扩展功能

Matlab中面向对象能力并不强,通过使用jython引擎能够对其功能扩展. 1 编辑classpath.txt增加jython.jar 在matlab中输入 which classpath.txt 结果: /usr/local/MATLAB/R2013a/toolbox/local/classpath.txt 编辑该文件,加入 /home/your_user/jython2.5.3/jython.jar 2 又一次启动matlab 3 编写代码測试 import javax.script.In

[ SHELL编程 ] shell中各种括号的使用方法

转载自:http://www.jb51.net/article/60326.htm 在这里我想说的是几种shell里的小括号,大括号结构和有括号的变量,命令的用法,如下:1.${var} 2.$(cmd) 3.()和{} 4.${var:-string},${var:+string},${var:=string},${var:?string} 5.$((exp)) 6.$(var%pattern),$(var%%pattern),$(var#pattern),$(var##pattern)现在分

【caffe-windows】 caffe-master 之Matlab中model的分类应用

此篇讲述在matlab中,如何将训练好的model用于图像分类.将以mnist为例,主要用到caffe-master\matlab\demo 下的classification_demo.m ,可参考我之前的博客 [caffe-windows] caffe-master 之 classfication_demo.m 超详细分析 (http://blog.csdn.net/u011995719/article/details/54135189) 首先贴大神的博客:http://blog.csdn.n

MATLAB中fft

一般的fft需要将点数补成2的整数次幂,MATLAB中有fft函数,输入N点序列则输出也是N点序列,其中N不一定为2的整数次幂.所以会疑惑MATLAB做的fft和N点序列对应的dft是否一样.经过验证,MATLAB中对N点序列做fft的结果与N点dft的结果是完全一样的,没有对N点序列进行补0后再做操作. 下面是MATLAB代码和结果. n = 0: 49; A = 444.128; a = 50 * sqrt(2.0) * pi; w0 = 50 * sqrt(2.0) * pi; T = 0

matlab中hold指令、figure指令及subplot指令的使用

一.hold指令使用 正常情况下,plot指令显示figure时,以前的数据丢失了.使用hold on指令后,此后添加的一系列plot曲线将叠加在前一个图上当使用hold off后,恢复为默认状况,plot后将取代旧的figure 代码: % 提示 disp ('该功能练习hold功能'); %初始化快捷式数组 x=-2*pi:pi/20:2*pi; y1=sin(x); y2=cos(x); plot(x,y1,'b-'); title('sin(x)和cos(x)图形'); %该语句必须在p

matlab中同一文件定义子函数的方法

在matlab中一个.m文件中可以有多个的子函数,但仅能有一个主函数,并且M文件名必须和主函数相同在一个m文件中通常有两种定义子函数的方法: 1.嵌套定义 myfunc1会和主函数共享变量名.这种情况下,使用相同的变量名,如果不是故意为之,就不合适了.function mainFunc(... a = myfunc1();...function myfunc1()...end end2. 非嵌套定义function mainFunc()...a = myfunc1();...end functi

Python 之 h5py 读取 matlab 中 .mat 文件 cell 方法浅析

采用 Python 读取 matlab 中 .mat文件的方法有很多,中外文的论坛上都不少,相关博文 可见:Python 从 mat 文件的读写和存储 到 h5py 文件包. 详址:http://blog.csdn.net/u013630349/article/details/47090299 但是,在读取matlab文件的时候,往往不是一层 .mat 就足以解决问题的,.mat 文件中可能是存放的 cell(100*200) 数据, cell(100*200)数据中又分为多个 cell .那么