建不了的模。 发表于 2014-9-17 13:10

Matlab中数组元素的引用方法和讨论

Matlab中数组元素的引用方法和讨论
Matlab beginner,经常会遇到这样的疑问,Matlab矩阵元素引用真灵活,我都看花了眼了!还有数组、矩阵、向量、行列式有什么区别呢?
Matlab中数组元素引用有三种方法:

1.下标法(subscripts)
2.索引法(index)
3.布尔法(Boolean)

在使用这三种方法之前,大家头脑一定要清晰的记住,Matlab中数组元素是按列存储(与Fortran一样),比如说下面的二维数组

A=
     8     1     6
     3     5     7
     4     9     2

Matlab的存储顺序是8,3,4,1,5,9,6,7,2,也就是说先行后列,对于3维数组呢,就是先行后列再页

对应个元素的索引和下标分别为

Element Index Subscripts
8        1      (1,1)
3        2      (2,1)
4        3      (3,1)
1        4      (1,2)
5        5      (2,2)
9        6      (3,2)
6        7      (1,3)
7        8      (2,3)
2        9      (3,3)

从上面的例子中已经很清晰的说明了下标和索引的区别了,也就是说Matlab为没有个元素分配了一个唯一识别的ID(即index)

1.下标法引用

A(ii,jj):其中ii和jj可以是一维向量、标量、“:”号或者“end”

大家对下标估计比较熟悉,由于在C语言中接触过,但是我这里需要强调的是,Matlab的下标是可以多行多列同时引用的,而像C语言等一次只能引用一个,比如

A(2:3,3:-1:1)表示引用数组中的2~3行,3~1列对应的元素
A(:,end)表示引用最后一列元素,“:”表示所有列或行,“end”表示最后一列或列,“end-n”表示倒数第n行或列
A(1,end-1)表示引用第1行倒数第2个元素
A(,)表示引用按两个向量引用指定的元素,即A中的第2,1,3,3行和第1,1,2,2,1列对应的元素

**** Hidden Message *****至于Matlab中数组元素的引用可以参见http://www.madio.net/thread-223954-1-1.html



harveymao 发表于 2014-9-17 17:35

齐鲁青未了前往拉我去任务

深V礼 发表于 2014-9-17 18:13

顶顶,发帖多多,收获多多

数学中国—罂粟 发表于 2014-9-17 21:47

感谢分享,支持分享。

气壮山河55 发表于 2014-9-22 19:36

让我看看都有什么
页: [1]
查看完整版本: Matlab中数组元素的引用方法和讨论