语法知识
3.16 单元数组
单元数组是一种matlab数组,它的每一元素是单元,在单元里可以保存各种类型的matlab数组。例如单元数组、实数矩阵、文本字符串数组、结构数组以及其他复数向量等。
3.16.1 单元数组的创建
C=cell(n) 建立n阶单元空方阵
C=cell(m,n) 建立m行n列的单元空矩阵
C=cell(size(A)) 建立与矩形A同维的空单元矩阵
(1)下标索引,用圆括号内的下标数来显示单元号。
(2)单元索引。
单元中单元数组称为嵌套的单元数组,对于子集的赋值可以通过两次单元索引(花括号)。
3.16.2 单元数组的删除和改写
可以用赋值空矩阵来删除单元数组的某单元。可以用reshape来改写矩阵。
3.16.3 单元数组的运算
数值矩阵符合数组矩阵的运算规则。
字符数组符合字符数组的运算规则。
实例演练
A(1,1)={magic(3)};
A(1,2)={‘10/1/2004’};
A(2,1)={1:5};
A(2,2)={[1+2i 2-31;2+3i 1-2i]};
A
A =
2×2 cell 数组
{3×3 double} {'10/1/2004'}
{1×5 double} {2×2 double }
celldisp(A)
A{1,1} =
8 1 6
3 5 7
4 9 2
A{2,1} =
1 2 3 4 5
A{1,2} =
10/1/2004
A{2,2} =
1 列
1.0000 + 2.0000i
2.0000 + 3.0000i
2 列
-1.0000 + 0.0000i
1.0000 - 2.0000i
——————————————————————————————
C=cell(2,2)
C =
2×2 cell 数组
{0×0 double} {0×0 double}
{0×0 double} {0×0 double}
C{2,2}{1,1}=‘text’;
C{2,2}{1,2}=93;
C{1,1}=7-5*i;
celldisp©
C{1,1} =
7.0000 - 5.0000i
C{2,1} =
[]
C{1,2} =
[]
C{2,2}{1} =
text
C{2,2}{2} =
93
cellplot©
————————————————————————————————————A={magic(3),‘2019/10/23’,‘zaofan’}
A =
1×3 cell 数组
1 至 2 列
{3×3 double} {'2019/10/23'}
3 列
{'zaofan'}
A{1,1}=[]
A =
1×3 cell 数组
1 至 2 列
{0×0 double} {'2019/10/23'}
3 列
{'zaofan'}
————————————————————————————————————
A{1,1}=rand(2,3);
A{1,2}=rand(3,2);
celldisp(A)
A{1} =
0.8147 0.1270 0.6324
0.9058 0.9134 0.0975
A{2} =
0.2785 0.9649
0.5469 0.1576
0.9575 0.9706
A{3} =
zaofan
A{3}=A{1}*A{2}
A =
1×3 cell 数组
1 至 2 列
{2×3 double} {3×2 double}
3 列
{2×2 double}
disp(A{3})
0.9018 1.4199
0.8452 1.1126
————————————————————————————————————
个人总结
1.难以独立完成编程,还需要多练习。