4.2 元胞数组
4.2.1 元胞数组的创建和显示
4.2.1.2 元胞数组的创建和显示
【 * 例 4.2.1 .2-1 】本例演示:
元胞数组的创建。
C_str=char(' 
',' 元胞数组创建算例 1'); % 产生字符串
R=reshape(1:9,3,3); % 产生
实数阵 R
Cn=[1+2i]; % 产生复数标量
S_sym=sym('sin(-3*t)*exp(-t)'); % 产生符号函数量
(1)直接创建法之一:“外标识元胞元素赋值法”
A(1,1)={C_str};A(1,2)={R};A(2,1)={Cn};A(2,2)={S_sym};
A % 显示元胞数组
A =
[2x10 char] [3x3 double]
[1.0000+ 2.0000i] [1x1 sym ]
(2)直接创建法之二:“编址元胞元素内涵的直接赋值法”
B{1,1}=C_str;B{1,2}=R;B{2,1}=Cn;B{2,2}=S_sym;
celldisp(B) % 显示元胞数组内容
B{1,1} =
这是
元胞数组创建算例 1
B{2,1} =
1.0000 + 2.0000i
B{1,2} =
1 4 7
2 5 8
3 6 9
B{2,2} =
-sin(3*t)*exp(-t)
4.2.2 元胞数组的扩充、收缩和重组
【 * 例 4.2.2 -1 】元胞数组的扩充。
(1)利用 cell 指令创建元胞数组
C=cell(2); % 预设
空元胞数组
C(:,1)={char('Another','text string');10:-1:1} % 对第一列元胞赋值
C =
[2x11 char ] []
[1x10 double] []
(2)元胞数组的“列”扩充和“行”扩充
AC=[A C] % 空格(或逗号)利用来分隔列
A_C=[A;C] % 分号利用来分隔“行”
AC =
[2x10 char] [3x3 double] [2x11 char ] []
[1.0000+ 2.0000i] [1x1 sym ] [1x10 double] []
A_C =
[2x10 char ] [3x3 double]
[1.0000+ 2.0000i] [1x1 sym ]
[2x11 char ] []
[1x10 double] []
【 * 例 4.2.2 -2 】 cellplot 能用图形形象化地表示元胞数组的内容。( A_C 取自上例)
cellplot(A_C,'legend')
图 4.2.2 -1 元胞数组 A_C 的形象化结构图
【 * 例 4.2.2 -3 】元胞数组的收缩和重组。
(1)元胞数组的收缩
A_C(3,:)=[] % 删除第 3 行,使 A_C 成为
的元胞数组
A_C =
[2x10 char ] [3x3 double]
[1.0000+ 2.0000i] [1x1 sym ]
[1x10 double] []
(2)把 A_C 重组成
元胞数组 R_A_C
R_A_C=reshape(A_C,2,3)
R_A_C =
[2x10 char] [1x10 double] [1x1 sym]
[1.0000+ 2.0000i] [3x3 double] []
4.2.3 元胞数组内容的调取
【 * 例 4.2.3 -1 】元胞数组内容的调取示例。
(1)取一个元胞
f1=R_A_C(1,3) % 使用园括号寻访得到的是元胞,而不仅是内容。
class(f1)
f1 =
[1x1 sym]
ans =
cell
(2)取一个元胞的内容
f2=R_A_C{1,3} % 用花括号寻访取得内容
class(f2)
f2 =
sin(-3*t)*exp(-t)
ans =
sym
(3)取元胞内的子数组
f3=R_A_C{1,1}(:,[1 2 5 6]) % 注意三种括号的不同用途
% 取第 1 行第 1 列元胞内容中的第 1 、 2 、 5 、 6 列。
f3 =
这是
元胞创建
(4)同时调取多个元胞内容
[f4,f5,f6]=deal(R_A_C{[1,3,4]}) % 取三个元胞内容,赋值给三个变量
f4 =
这是
元胞数组创建算例 1
f5 =
10 9 8 7 6 5 4 3 2 1
f6 =
1 4 7
2 5 8
3 6 9

激光扫描服务技术具有很高的经济意...

(资料图片)“中国载人航天飞行任务试验用车”、“航天员凯旋礼宾车”、“神舟七号飞...

针对级进模排样的特点以及人工智能技术在工程领域应用的研究,提出了适用于级进模排样...

目前,北京现代汽车有限公司发动机厂拥有两个工厂,分别于2004年和2007年投产,年生产...

9月8日,石家庄兆通金刚石工贸有限公司销售经理王金龙先生在向笔者介绍金刚石制品行业...