镇场诗:慈心积善,为有缘人做大证明。以身作则,光照大千世界。
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Array Indexing 数组索引
Every variable in MATLAB? is an array that can hold many numbers. When you want to access selected elements of an array, use indexing.
在MATLAB中每一个变量都是都是一个数组,这个数组可以有很多个数。当你想挑选出数组的一些元素时,那么用索引值吧。
For example, consider the 4-by-4 magic square A:
例如,考虑一下下面这个4行4列的魔幻方阵A:
A = magic(4)
A =
16 2 3 13
5 11 10 8
9 7 6 12
4 14 15 1
There are two ways to refer to a particular element in an array. The most common way is to specify row and column subscripts, such as
访问一个数组中的元素,有两种方式。最普遍的一种就是,指定元素的行,列下标,比如:
A(4,2)
ans =
14
Less common, but sometimes useful, is to use a single subscript that traverses down each column in order:
另一种稍微怪异一点的,但是有时候会很有用。这个就是用单个下标来提出元素。(单个下标如何使用,就是每一列从上到下。比如,这个魔方阵,第四行第一列 就是 4,第四行 第二列就是8。。。)
A(8)
ans =
14
Using a single subscript to refer to a particular element in an array is called linear indexing.
用单个下标来提取矩阵中的元素,这种方式叫线性索引。。。
If you try to refer to elements outside an array on the right side of an assignment statement, MATLAB throws an error.
在一个赋值语句的右边你引用了一个超出数组界限的元素,那么MATLAB就会抛出一个错误。
test = A(4,5)
Attempted to access A(4,5); index out of bounds because size(A)=[4,4].
尝试访问四行五列的元素;索引值超过了边界,因为A的大小是4行4列的。
However, on the left side of an assignment statement, you can specify elements outside the current dimensions. The size of the array increases to accommodate the newcomers.
当然在赋值语句的左面,你指定了超出数组边界的元素,然后把一个数赋值给了一个超出当前数组范围的元素。那么,数组会增加自己的大小来接纳这个新来的元素。
A(4,5) = 17
A =
16 2 3 13 0
5 11 10 8 0
9 7 6 12 0
4 14 15 1 17
To refer to multiple elements of an array, use the colon operator, which allows you to specify a range of the form start:end.
当你想提取数组中的多个元素时,那么就该用到冒号:了。这个冒号,这样使用的,指定 开始:结束 这个范围。
For example, list the elements in the first three rows and the second column of A:
举个例子,提出一些元素,这些元素是数组第一行到第三行的第三列元素。
A(1:3,2)
ans =
2
11
7
The colon alone, without start or end values, specifies all of the elements in that dimension.
单独的一个冒号,也不写从哪里开始,到哪里结束。那么就是指定了在这个维上的所有元素。
For example, select all the columns in the third row of A:
举个例子,我要提取A的第三行的所有元素
A(3,:)
ans =
9 7 6 12 0
The colon operator also allows you to create an equally spaced vector of values using the more general form start:step:end.
使用冒号,还可以创造出一个等间隔的数列。一般来讲,表达式这样写的start:step:end.
B = 0:10:100
B =
0 10 20 30 40 50 60 70 80 90 100
If you omit the middle step, as in start:end, MATLAB uses the default step value of 1.
如果你省略了中间的变量step,写成了这个样子 start:end。那么MATLAB将会使用默认的step变量值 1.
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
为了让每个新手使用MATLAB这一优秀的软件,所以翻译matlab, 借助了翻译软件和实践时候的经验,愿所有看了这篇翻译的人能得到一些启示。
因为是为了帮助新手入门,所以我努力以人为本,说新手听得懂的语言,绝不一一对译。n(*≧▽≦*)n
如果我的翻译有错误,请指正。我会不断地进步并更新改进翻译的。请务必不吝赐教。在下感激不尽。
感恩众生与使用的软件,金山词霸与microsoft word。
注:此文仅用作科研学习使用。如果我侵犯了您的权益,请告知。看到您的告知后,我将及时作出处理。
此文为原创,未经同意不得转载。所以转载到其他网站前,请询问在下。