数学建模--矩阵的引用

来源:互联网 发布:oracle数据库 监控 编辑:程序博客网 时间:2024/06/08 06:15

在matlab中经常要用到进行矩阵的索引,其中有三种方法,分别是下标法、索引法、布尔法。

  • 下标法
    A(i,j):其中i和j可以是一维向量、标量、“:”号或者“end”。
    以逗号为分隔,逗号前面即i表示对行的索引描述,逗号后面即j表示对列的索引描述
    例如
A = magnic(3)A =     8     1     6    3     5     7    4     9     2%生成一个3阶魔方矩阵%魔方矩阵是一个经典的数学问题,%即在二维方向把一个方块等间隔的分为n个小方格,填入数字1 - n,%使得横、竖和斜方向的所有数字之和相等。A(2:3,3:-1:1)%A的第2行到第三行,第三列逆序索引到第一列%所以结果为ans =     7     5     3    2     9     4A(:,end)%A所有的行,最后一列%结果为ans =     6     7     2A([2 1 3 3],[1 1 2 2 1])%得到一个4行5列的矩阵,ans =     A(2,1) A(2,1) A(2,2), A(2,2), A(2,1)    A(1,1) A(1,1) A(1,2), A(1,2), A(1,1)    A(3,1) A(3,1) A(3,2), A(3,2), A(3,1)    A(3,1) A(3,1) A(3,2), A(3,2), A(3,1)%所以结果为ans =     3     3     5     5     3     8     8     1     1     8     4     4     9     9     4     4     4     9     9     4
  • 索引法
    A(index):index可以是任意的数组,index的元素必须是正整数,且不大于numel(A),返回的是一个尺寸与index一样的数组。
    设A为一个mxn的矩阵,A(index) = A(i, j)
    其中i = index/m,j=index%m(%表示取余).
A=magic(5)%括号中为索引值A =    17 (1)     24 (6)     1 (11)     8 (16)    15 (21)    23 (2)      5 (7)     7 (12)    14 (17)    16 (22)     4 (3)      6 (8)    13 (13)    20 (18)    22 (23)    10 (4)     12 (9)    19 (14)    21 (19)     3 (24)A(19)ans =     21A([1 10 5 2 2 1 3])ans =    17    18    11    23    23    17     4A([2 5 9;1 1 1;8 5 6])ans =    23    11    12    17    17    17     6    11    24
  • 布尔法
    A(X):X是一个有0和1组成布尔型数据,且size(A)=size(X),对应位置为1则留下该数据,0则去掉,最后按A中的存储顺序,返回一个列向量
A=magic(3)%生成一个3*3的数组A=     8     1     6     3     5     7     4     9     2x=logical([1 1 0;0 1 1;1 0 1])%将double转化为boolean型数据x =     1     1     0     0     1     1     1     0     1A(x)%引用对应位置为1的数据,返回列向量ans =     8     4     1     5     7     2x=A>5%是有了比较语句,返回布尔型数据,对应位置数据大于5的为1,否则为0x =     1     0     1     0     0     1     0     1     0A(x)%返回大于A中大于5的元素,其实该命令可以一次性执行A(A>5)或者find(A>5),前者返回具体元素,后者返回大于5的数据的索引值ans =     8     9     6     7A(A>5)%一次性执行上面的命令ans =     8     9     6     7indx=find(A>5)%查找A中对于5的元素,返回它们的索引(index)值,此时我们可以通过A(index)返回具体的元素index =     1     6     7     8
原创粉丝点击