matlab 括号问题

matlab 括号分为大中小,三种。

1:小括号()用于提取或是定义数组的元素

A=[1 2 3;4 5 6;7 8 9]   A表示3*3矩阵,然后a(1,1)表示第一行第一列的元素。

或者是a(1,1)=10则会改变A在第一行第一列的值。

2:中括号[]只是用于存储数组向量

arr=[1 2 3; 4 5 6]

str=['abc' 'def';'sad' 'fwe']都是可以的但要求存储的数据类型是一致的。 str(1;1)表示的是元素‘a’; 在str中存储的格式是char类型的。想要得到‘abc’是str(1,1:3)

定义A=[] 之后再A中进行存储,系统会自动分配空间。

但是如果想在开始就定义好数组的大小,可以使用

A=ones(2,2) A=zeros(2,2) A=eye(2,2)等方法定义不同形式的矩阵

但是如果你在A(10,10)=100有定义了,系统会自动把A矩阵扩展到10*10。

扫描二维码关注公众号,回复: 1780761 查看本文章

3:大括号{}用于元胞数组即cell,其中的元素可以是不同格式的也可以的不同大小的。

a=[1 2 3]; b='matlab'; c={a b} c是一个元胞

这个时候如果用c(1)得到的是一个cell的元素。

但是使用c{1}则得到的是一个数组元素。

既然c{1}是一个向量,则可以使用c{1}(1,1)来访问其中的元素。

也可以使用ce=cell(5,4)来定义一个5*4大小的cell组。

同理这个时候给ce赋值的话就得用大括号,比如ce{1,1}=‘matlab’

ce{1,2}=123 








猜你喜欢

转载自blog.csdn.net/hb_2016/article/details/78977649