MATLAB学习四:矩阵寻访
MATLAB矩阵寻访
主要方法: 下标寻访、单元素寻访和多元素寻访
1.下标寻访 MATLAB中矩阵的下标表示与常用的数学习惯相同,使用分别的行和列的“双下标”(Row-Column Index),矩阵中的元素都有对应的“第几行”“第几列”。 例:利用上下标来表示寻访矩阵元素 程序如下:
a = [1 2 3; 4 5 6; 7 8 9] a(1,1) a(2,2) a(3,3)
运行结果如下:
a = 1 2 3 4 5 6 7 8 9 ans = 1 ans = 5 ans = 9
2.单元素寻访 MATLAB中,必须指定两个参数,即所在的行数和列数,才能访问矩阵中的单个元素。
M=(row,column) %row和column分别代表行数和列数
程序如下:
M=rand(3) x=M(1,2) y=M(2,3) z=M(3,3)
运行结果如下:
M = 0.0975 0.9575 0.9706 0.2785 0.9649 0.9572 0.5469 0.1576 0.4854 x = 0.9575 y = 0.9572 z = 0.4854
3.多元素访问 利用冒号表达式可获得寻访该矩阵的某一行或某一列的若干元素,访问整行、整列元素,访问若干行或若干列的元素以及访问矩阵所有元素等。 (1) A(e1:e2:e3)表示取数组或矩阵A的第e1元素开始每隔e2步长一直到e3的所有元素; (2) A([m n l])表示取数组或矩阵A中的第m、n、l个元素; (3) A(:,j)表示取A矩阵的第j列全部元素; (4) A(i,:)表示取A矩阵的第i行全部元素; (5) A(i:i+m,:)表示取A矩阵第i~(i+m)行的全部元素; (6) A(:,k,k+m)表示取A矩阵第k~(k+m)列的全部元素; (7) A(i:i+m,k:k+m)表示取A矩阵第i~ (i+m)行内,并在第k~(k+m)列中的所有元素; (8) 还可以利用一般向量和end运算符来表示矩阵下标,从而获得子矩阵。end表示某一维末尾元素下标。
对矩阵M进行多元素寻访 程序如下:
M=randn(4) M(1,:) M(1:3,:) M(:,2) M(:)
运行结果如下:
M = 1.0933 -1.2141 -0.7697 -1.0891 1.1093 -1.1135 0.3714 0.0326 -0.8637 -0.0068 -0.2256 0.5525 0.0774 1.5326 1.1174 1.1006 ans = 1.0933 -1.2141 -0.7697 -1.0891 ans = 1.0933 -1.2141 -0.7697 -1.0891 1.1093 -1.1135 0.3714 0.0326 -0.8637 -0.0068 -0.2256 0.5525 ans = -1.2141 -1.1135 -0.0068 1.5326 ans = 1.0933 1.1093 -0.8637 0.0774 -1.2141 -1.1135 -0.0068 1.5326 -0.7697 0.3714 -0.2256 1.1174 -1.0891 0.0326 0.5525 1.1006