设计教室
设计欣赏|图形图像|媒体动画|机械电子|CI设计|设计文献|PhotoShop|Corel3Dmax|Flash|AutoCad|设计视频
首页 > 设计教室 > 机械电子 > MATLAB > 正文

MATLAB教程: 数组构作技法综合



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) % 变 数组为 数组
ans =
1 5 9 13
2 6 10 14
3 7 11 15
4 8 12 16

上一篇: MATLAB教程: “非数”和“空”数组
下一篇:matlab调试工具

评论  点击查看
 
设计频道推荐
设计热点文章