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

    MATLAB 数组(Array)是一系列数据的集合,它所包含的每一份数据叫做数组元素(Element)。我们可以使用数组这个整体,也可以使用其中的一个或者多个元素。

    要想使用数组元素,就得想办法访问(获取)它,MATLAB 提供了三种访问数组元素的方法:

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

      • MATLAB 通过下标访问一个数组元素(本节课程内容)
      • MATLAB 通过下标访问多个数组元素
    • MATLAB通过索引访问数组元素
    • MATLAB布尔法访问数组元素

    本节只讲解其中最简单最常用的一种,也就是通过下标访问一个数组元素,其它方法请大家猛击链接学习。

    数组元素的下标

    在 MATLAB 中,数组元素的下标是从 1 开始的;而在 C/C++、Java、Python 等大部分编程语言中,数组元素的下标都是从 0 开始的。

    从 1 开始符合人类的思维,从 0 开始符合计算机的思维。

    通过下标访问数组元素

    所谓下标,就是元素所在的行号和列号;对于一位数组,只有列号,没有行号。

    通过下标访问一维数组元素的格式如下:

    A(j)

    A 是数组名,j 是列号。

    通过下标访问二维数组元素的格式如下:

    A(i, j)

    A 是数组名,i 是行号,j 是列号。

    i 和 j 都必须是大于等于 1 的整数,而且不能超过数组的总行数和总列数,也即:

    1 ≤ i ≤ row
    1 ≤ j ≤ column

    如果你想访问最后一行或者一列的元素,可以将下标设置为end

    MATLAB 和其它编程语言的对比:

    • MATLAB 二维数组是按照列存储的,这一点和大部分编程语言都不一样;但是在通过下标访问数组元素时,要先写行号再写列号,这一点又和大部分编程语言是相同的。
    • 大部分编程语言使用[ ]包围数组下标,比如 arr[10];而 MATLAB 使用( )包围数组下标,比如 A(10)。

    访问一维数组的综合示例:

    >> A = [23, 45, 8, 100, 63, 18]
    A =
        23    45    8    100    63    18
    
    >> A(3)
    ans = 8
    
    >> A(1)
    ans = 23
    
    >> A(end)  %访问最后一个元素
    ans = 18
    
    >> A(end-2)  %访问倒数第3个元素
    ans = 100
    
    >> A(7)  %数组下标太大
    索引超出数组范围。
    
    >> A(0)  %数组下标太小
    数组索引必须为正整数或逻辑值。

    访问二维数组的综合示例:

    >> B=[8,1,6; 3,5,7; 4,9,2]
    B =
        8     1     6
        3     5     7
        4     9     2
    
    >> B(2,1)
    ans = 3
    
    >> B(2,end)
    ans = 7
    
    >> B(end, end)
    ans = 2
    
    >> B(4, 1)
    位置 1 的索引超出数组范围(不能超过 3)。
    
    >> B(2, 4)
    位置 2 的索引超出数组范围(不能超过 3)。

更多...

加载中...