在matlab中() [] {}总是会让自己有点不清晰!
()在matlab中是引用数组或矩阵中的元素:
img(1,1,1); #img图像的第一个像素点
img(:,:,1); #一般用于得到彩色图像的R分量
[]有两个作用:
1.构建向量或者矩阵
v=[1,2,3,4]; #行向量
v=[1;2;3;4]; #列向量
注意,和;的区别!!!
2.在函数中,分配输出函数
[M N]=size(img);
{}一般是用于cell,这个我也不大清楚,暂时不管,目前用不到
在matlab中,个人觉得数组,向量,矩阵都差不多,总体来说都是矩阵吧,倒是一些关于矩阵的一些隐含规则让人不爽,记下来哈:
v=[1 2 3 4 5];等价于v=[1,2,3,4,5]; v=[1:5]; #:意味着等步长分隔,默认步长为1
v=[1:2:7]; #指定步长为2
注:有个linespace(a,b,n)的函数
其中a表示第一个元素,b为最后一个元素,一共n个元素。那么步长由系统自动计算生成
>> linspace(2,8,5)
ans =
2.0000 3.5000 5.0000 6.5000 8.0000
使用向量作为矩阵的索引:
E = A([1 2] , [3 1])
等价于:
E(1,1)=A(1,3); E(1,2)=A(1,1);
E(2,1)=A(2,3); E(2,2)=A(2,1).