MATLAB⼊门之数值数组的⼦数组
⼀写在前⾯:
对于⼀个数组,我们可以利⽤ “数组(标量)”或“数组(⾏标,纵标)”的形式来对⼀个数组进⾏单个元素的引⽤。⽽实际上,我们还可以⼀次性引⽤数组的多个元素,这即被称之为” 数组的⼦数组”。
注:以下均取
>> A=
1    2    3    4
5    6    7    8
9    10    11    12
⼆形如:A(B)和A(B,C)
1:A(B),其中A,B均为数组(这⾥,我们认为⾏向量,列向量也是特殊的数组)
则B有3种形式:
(1). B为⾏向量:
例⼦如下:
>>B=[3,2,5,1];
>>A(B)
ans =
9  5  6  1
(2).B为列向量:
例⼦如下:
>>B=[3;2;5;1];
>>A(B)
ans =
9
5
6
1
(3). B为普通数组
>>B=[3,2;5,1];
>>A(B)
ans =
9    5
6    1
(4)总结:
1.          数组 A(B) 的⾏列数均与B⼀样;
2.          数组A(B)中的每个元素是以B中相应位置元素作为索引在A中的元素,如
3.          第3种情况  A(B)中1⾏,1列元素=A(B(1,1));依此类推:数组A(B)中的m⾏,n列元素=A(B(m,n)); 2. A(B,C) 其中 A,B,C 均为数组
则B,C所有可能性:
1.                          B,C均为向量;
2.                          B,C其中⼀个是向量⼀个是数组;
3.                          B,C均为数组。
(1) 以B,C均为数组这种情况为例:
>>B =
2    1
3    2
>>C =
4    1
3    2
>> A(B,C)
matlab数组赋值ans =
8    7    5    6
12    11    9    10
4    3    1    2
8    7    5    6
注意:MATLAB读取数组元素是按列优先的
1.          A(B,C)的元素个数:B的元素个数×C元素个数;
2.        ⼦数组 A(B,C) ⾏数等于B中元素数,列数等于C中元素数;
3.        B,C决定 该⼦数组元素的⽅式:
4.        如上例⼦:
5.                B决定了:⼦数组A(B,C)的第1,2,3,4⾏的元素分别在A中的 第2,3,1,2⾏中;
6.                C决定了:⼦数组A(B,C)的第1,2,3,4列的元素分别在A中的 第 4,3,1,2列中
对 A(B,C)以表格形式画出:A(B,C)中各元素:
A(2,4)=8A(2,3)=7A(2,1)=5A(2,2)=6 A(3,4)=12A(3,3)=11A(3,1)=9A(3,2)=10
A(1,4)=4A(1,3)=3A(1,1)=1A(1,2)=2
A(2,4)=8A(2,3)=7A(2,1)=5A(2,2)=6
(2).B,C中⼀个为数组,⼀个为向量及均为向量的情况
按向量为特殊数组处理,依上类推,可得,这⾥不多说。
三最后⼩结
⼀次性引⽤数组中的多个元素是MATLAB的⼀⼤特⾊,这使得在很多情况下,我们不必⽤循环语句来达到引⽤,处理数组中多个元素的⽬的。⼤⼤⽅便了我们对数组中的多个元素进⾏赋值,修改元素值。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。