MATLAB 数组(Array)是一系列数据的集合,它所包含的每一份数据叫做数组元素(Element)。我们可以使用数组这个整体,也可以使用其中的一个或者多个元素。要想使用数组元素,就得想办法访问(获取)它,MATLAB 提供了三种访问数组元素的方法:
本节只讲解其中最简单最常用的一种,也就是通过下标访问一个数组元素,其它方法请大家猛击链接学习。
在 MATLAB 中,数组元素的下标是从 1 开始的;而在 C/C++、Java、Python 等大部分编程语言中,数组元素的下标都是从 0 开始的。
从 1 开始符合人类的思维,从 0 开始符合计算机的思维。
所谓下标,就是元素所在的行号和列号;对于一位数组,只有列号,没有行号。
通过下标访问一维数组元素的格式如下:
A 是数组名,j 是列号。
通过下标访问二维数组元素的格式如下:
A 是数组名,i 是行号,j 是列号。
i 和 j 都必须是大于等于 1 的整数,而且不能超过数组的总行数和总列数,也即:
如果你想访问最后一行或者一列的元素,可以将下标设置为end。
MATLAB 和其它编程语言的对比:
访问一维数组的综合示例:
>> 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)。