• MATLAB通过下标访问多个数组元素

    在《MATLAB通过下标访问数组元素》中我们讲解了如何通过下标来访问数组中的某一个元素,除此之外,MATLAB 还允许通过下标一次性访问多个元素。

    使用冒号指明下标范围

    MATLAB 允许使用冒号:指定下标的范围,格式为:

    m : step : n

    其中,m 表示起始下标,n 表示结束下标,step 表示步长。

    step 可以省略,此时采用默认的步长 1,也即写成下面的形式:

    m : n

    这个时候 m 和 n 又可以同时省略,也就是只写一个:,表示从 1 到 end 的所有下标。

    【实例1】访问一维数组元素时使用冒号:

    >> A=[88, 4, 62, 15, 100, 9, 26, 7]
    A =
        88     4    62    15   100     9    26     7
    
    >> A(2:6)  %访问下标 2~6 的元素
    ans =
         4    62    15   100     9
    
    >> A(4:end)  %访问下标 4~end 的元素
    ans =
        15   100     9    26     7
    
    >> A(2:2:7)  %访问下标 2~7 的元素,步长为2
    ans =
         4    15     9
    
    >> A(1:2:end)  %访问所有下标为奇数的元素
    ans =
        88    62   100    26
    
    >> A(:)  %访问所有元素
    ans =
        88
         4
        62
        15
       100
         9
        26
         7

    【实例2】访问二维数组下标时使用冒号:

    >> B=[8,1,6,100,72; 3,55,70,33,305; 4,9,2,10,69; 82,7,18,88,44]
    B =
         8     1     6   100    72
         3    55    70    33   305
         4     9     2    10    69
        82     7    18    88    44
    
    >> B(1:3, 2:4)  %访问 1~3 行,2~4 列的元素
    ans =
         1     6   100
        55    70    33
         9     2    10
    
    >> B(1:2:end, 🙂  %访问所有奇数行元素
    ans =
         8     1     6   100    72
         4     9     2    10    69
    
    >> B(:, 3)  %访问第3列元素
    ans =
         6
        70
         2
        18
    
    >> B(2, 🙂  %访问第2行元素
    ans =
         3    55    70    33   305

    使用向量指明下标范围

    这里说的是行向量,也就是一维数组。

    使用向量指明下标范围时,每一个向量的元素就表示一个具体的下标。换句话说,将你想要访问的元素的下标一一写到向量里面即可。具体格式如下:

    [i, j, k ...]

    i、j、k 表示某个具体的下标,它们由逗号,分隔,由方括号[ ]包围。

    下面我们举例说明:

    %一维数组
    >> A=[88, 4, 62, 15, 100, 9, 26, 7]
    A =
        88     4    62    15   100     9    26     7
    
    >> A([1,5,6])  %访问下标为 1、5、6 的元素
    ans =
        88   100     9
    
    >> A([4,5,8])  %访问下标为 4、5、8 的元素
    ans =
        15   100     7
    
    %二维数组
    >> B=[8,1,6,100,72; 3,55,70,33,305; 4,9,2,10,69; 82,7,18,88,44]
    B =
         8     1     6   100    72
         3    55    70    33   305
         4     9     2    10    69
        82     7    18    88    44
    
    >> B([1,2,4], [2,4])  %访问第 1、2、4 行,第 2、4 列的元素
    ans =
         1   100
        55    33
         7    88
    
    >> B([2,4], 3:5)  %同时使用向量和冒号
    ans =
    
        70    33   305
        18    88    44

更多...

加载中...