MATLAB通过下标访问数组元素

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

要想使用数组元素,就得想办法访问(获取)它,MATLAB 提供了三种访问数组元素的方法:
本节只讲解其中最简单最常用的一种,也就是通过下标访问一个数组元素,其它方法请大家猛击链接学习。

数组元素的下标

在 MATLAB 中,数组元素的下标是从 1 开始的;而在 C/C++JavaPython 等大部分编程语言中,数组元素的下标都是从 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)。