第二章 矩阵和数组及其运算
第二节 矩阵元素的提取
1.通过下标提取矩阵元素
A(i, j )表示A矩阵第i行第j列的元素。例如,提取A矩阵第3行第1列元素A(3,1)
>> A=[1 2 3;4 5 6;7 8 9]
A(3,1)
运算结果
A =
1 2 3
4 5 6
7 8 9
ans =
7
2.通过元素序号提取矩阵元素
在MATLAB中,矩阵元素按列存储,首先是第1列,其次是第2列,以此类推,一直到矩阵的最后1列元素,每列元素按照自上而下的顺序存储。例如,通过元素序号提取A矩阵第6个元素。
>> A=[1 2 3 4;5 6 7 8;9 10 11 12]
A(6)
运算结果
A =
1 2 3 4
5 6 7 8
9 10 11 12
ans =
10
可见,矩阵元素序号与它的存储顺序是一一对应的。
3.使用函数find(c)查找符合条件的矩阵元素的行和列
函数find(c)的使用格式
[row,col] = find(c)
其中,c一般为逻辑表达式;row返回满足条件的元素的行号,col返回满足条件的元素的列号。
例2-1 查找矩阵a=[12 34 26 17 21;61 50 89 12 8;25 62 91 23 47]中大于等于20、小于等于60的矩阵元素。
a=[12 34 26 17 21;61 50 89 12 8;25 62 91 23 47]
[r,c]=find(a>=20 & a<=60);
b=find(a>=20 & a<=60); % 向量b存放符合条件的矩阵元素序号
disp (' 符合条件的矩阵元素的行号和列号:'),[r,c]
disp (' 符合条件的矩阵元素的序号:'),b'
运算结果
a =
12 34 26 17 21
61 50 89 12 8
25 62 91 23 47
符合条件的矩阵元素的行号和列号:
ans =
3 1
1 2
2 2
1 3
3 4
1 5
3 5
符合条件的矩阵元素的序号:
ans =
3 4 5 7 12 13 15
A(i, j )表示A矩阵第i行第j列的元素。例如,提取A矩阵第3行第1列元素A(3,1)
>> A=[1 2 3;4 5 6;7 8 9]
A(3,1)
运算结果
A =
1 2 3
4 5 6
7 8 9
ans =
7
2.通过元素序号提取矩阵元素
在MATLAB中,矩阵元素按列存储,首先是第1列,其次是第2列,以此类推,一直到矩阵的最后1列元素,每列元素按照自上而下的顺序存储。例如,通过元素序号提取A矩阵第6个元素。
>> A=[1 2 3 4;5 6 7 8;9 10 11 12]
A(6)
运算结果
A =
1 2 3 4
5 6 7 8
9 10 11 12
ans =
10
可见,矩阵元素序号与它的存储顺序是一一对应的。
3.使用函数find(c)查找符合条件的矩阵元素的行和列
函数find(c)的使用格式
[row,col] = find(c)
其中,c一般为逻辑表达式;row返回满足条件的元素的行号,col返回满足条件的元素的列号。
例2-1 查找矩阵a=[12 34 26 17 21;61 50 89 12 8;25 62 91 23 47]中大于等于20、小于等于60的矩阵元素。
a=[12 34 26 17 21;61 50 89 12 8;25 62 91 23 47]
[r,c]=find(a>=20 & a<=60);
b=find(a>=20 & a<=60); % 向量b存放符合条件的矩阵元素序号
disp (' 符合条件的矩阵元素的行号和列号:'),[r,c]
disp (' 符合条件的矩阵元素的序号:'),b'
运算结果
a =
12 34 26 17 21
61 50 89 12 8
25 62 91 23 47
符合条件的矩阵元素的行号和列号:
ans =
3 1
1 2
2 2
1 3
3 4
1 5
3 5
符合条件的矩阵元素的序号:
ans =
3 4 5 7 12 13 15