3.10 数组构作技法综合
【 * 例 3.10-1 】数组的扩展。
(1)、数组的赋值扩展法
A=reshape(1:9,3,3) % 创建
数组 A
A =
1 4 7
2 5 8
3 6 9
A(5,5)=111 % 扩展为
数组。扩展部分除 (5,5) 元素为 111 外,其余均为 0 。
A =
1 4 7 0 0
2 5 8 0 0
3 6 9 0 0
0 0 0 0 0
0 0 0 0 111
A(:,6)=222 % 标量对子数组赋值,并扩展为
数组。
A =
1 4 7 0 0 222
2 5 8 0 0 222
3 6 9 0 0 222
0 0 0 0 0 222
0 0 0 0 111 222
(2)、多次寻访扩展法
AA=A(:,[1:6,1:6]) % 相当于指令 repmat(A,1,2) ,读者可以试试。
AA =
1 4 7 0 0 222 1 4 7 0 0 222
2 5 8 0 0 222 2 5 8 0 0 222
3 6 9 0 0 222 3 6 9 0 0 222
0 0 0 0 0 222 0 0 0 0 0 222
0 0 0 0 111 222 0 0 0 0 111 222
(3)、合成扩展法
B=ones(2,6) % 创建
全 1 数组
B =
1 1 1 1 1 1
1 1 1 1 1 1
AB_r=[A;B] % 行数扩展合成
AB_r =
1 4 7 0 0 222
2 5 8 0 0 222
3 6 9 0 0 222
0 0 0 0 0 222
0 0 0 0 111 222
1 1 1 1 1 1
1 1 1 1 1 1
AB_c=[A,B(:,1:5)'] % 列数扩展合成
AB_c =
1 4 7 0 0 222 1 1
2 5 8 0 0 222 1 1
3 6 9 0 0 222 1 1
0 0 0 0 0 222 1 1
0 0 0 0 111 222 1 1
【 * 例 3.10-2 】提取子数组,合成新数组。
A % 重显 A 数组
A =
1 4 7 0 0 222
2 5 8 0 0 222
3 6 9 0 0 222
0 0 0 0 0 222
0 0 0 0 111 222
AB_BA=triu(A,1)+tril(A,-1) % 利用操作函数,使主对角元素为全 0
AB_BA =
0 4 7 0 0 222
2 0 8 0 0 222
3 6 0 0 0 222
0 0 0 0 0 222
0 0 0 0 0 222
AB1=[A(1:2,end:-1:1);B(1,:)] % 灵活合成
AB1 =
222 0 0 7 4 1
222 0 0 8 5 2
1 1 1 1 1 1
【 * 例 3.10-3 】单下标寻访和 reshape 指令演示。
clear % 清除内存变量
A=reshape(1:16,2,8) % 变一维数组成
数组
A =
1 3 5 7 9 11 13 15
2 4 6 8 10 12 14 16
reshape(A,4,4) % 变 
[1] [2] 下一页