一.索引
1.数组中的单一元素
x=A(m,n),其中A为数组,提取值位于m行n列:
x=A(m,n)
例:
x=A(2,4) %提取第二行第四列元素
ans=8
end元素的使用,x=A(end,n),其中A为数组,提取值位于最后一行n列;
x=A(end-1,n),其中A为数组,提取值位于倒数第二行n列
x=A(end,n)
例:
x=A(end,1) %提取最后一行第一列元素
ans=4
x=A(end-1,end-3) %提取倒数第二行倒数第三列元素
ans=7
x=A(1,end-1) %提取第一行倒数第二列元素
ans=3
2.数组中的多个元素的索引
:可以指代该维度的所有元素;
x=A(m,:),其中A为数组,提取第m行所有元素;
x=A(:,n),其中A为数组,提取第n列所有元素;
x=A(2,:) %提取数组A第二行所有元素
ans=5 11 10 8
x=A(:,3) %提取数组A第三列所有元素
ans=3
10
6
15
x=A(end,:) %提取数组A最后一行所有元素
ans=4 14 15 1
x=A(a:b,:),其中A为数组,提取第a行至b行所有元素;
x=A(:,c:d),其中A为数组,提取第c列至d列所有元素;
x=A(2:4,1:2) %提取第2-4行,第1-2列的所有元素
ans= 5 11
9 7
4 14
多个元素索引
x=A([2 3 4],[1 2 4]) %提取第2 3 4行,第1 2 4列的元素
ans= 5 11 8
9 7 12
4 14 1
3. 向量中的元素的索引
此处针对单一的列向量/行向量,而非二维数组
p=x(m) 提取x向量中的第m个元素
p=x(m:n),提取x向量中的第m至第n个元素
p=x(3) %提取x向量中的第m个元素
p=x(2:5) %提取x向量中的第2至第5个元素
4.线性索引
①MATLAB 采用列优先 - 线性索引逐列从上到下开始进行索引
② sub2ind函数,将下标转换为线性索引
二维数组:语法为:x = sub2ind(sz,row,col)
用法如下:
row = [1 2 3 1]; %按线性索引顺序输入行
col = [2 2 2 3]; %按线性索引顺序输入列
sz = [3 3];
x = sub2ind(sz,row,col)
输出为: 4 5 6 7
三维数组用法为:x = sub2ind(sz,I1,I2,I3)
用法如下:
I1 = [1 2 1 2]; %按线性索引顺序输入x
I2 = [2 2 1 1]; %按线下索引顺序输入y
I3 = [1 1 2 2]; %按线下索引顺序输入z
sz = [2 2 2];
x = sub2ind(sz,I1,I2,I3)
输出为:3 4 5 6
二.对向量实行数组计算
1.矩阵对应元素相乘 ·*
,运算规则为:将两个大小相同的数组对应元素相乘
z=[3 4]·*[10 20]
z=30 80
2.矩阵中对应元素相除,·/
和\·
,运算规则为:将两个大小相同数组对应元素相除
z=[30 40]·/[10 20] % ·/意思为对应元素相除,左边除以右边
z=3 4
z=[5 40]\·[10 20] % \·意思为对应元素相除,右边除以左边
z=2 0.5
3.矩阵相乘*
,C=A*B
运算规则 为矩阵A与矩阵B相乘,若A是m行n列,B是n行k列,则其相乘之后的矩阵C为m行k列
4.计算法则表