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
上一篇: Matlab 离散数据、离散函数和连续函数的可视化
下一篇:MATLAB教程: 符号、指令、模块和图形对象属性索引