在 MATLAB 中,单元格数组和普通数组是两种不同的数据结构,用于存储和处理数据。以下是它们的主要区别和特点:
普通数组
-
数据类型:
- 普通数组(如数值数组)只存储相同类型的数据,比如数值、逻辑值或字符。
- 例子:
A = [1, 2, 3; 4, 5, 6]
是一个 2x3 的数值矩阵。
-
创建和访问:
- 创建:通过方括号
[]
。 - 访问:通过索引,例如
A(2,3)
获取值6
。
- 创建:通过方括号
-
用途:
- 适用于存储和处理同类型的数据,例如数学计算、矩阵操作等。
单元格数组
-
数据类型:
- 单元格数组可以存储不同类型的数据,包括数值、字符、结构体等。
- 例子:
C = {1, 'text', [1, 2, 3]; 4, {5, 6}, 'more text'}
是一个 2x3 的单元格数组。
-
创建和访问:
- 创建:通过花括号
{}
。 - 访问:通过花括号索引,例如
C{2,1}
获取值4
;使用圆括号()
访问单元格,例如C(1,2)
获取单元格内容'text'
。
- 创建:通过花括号
-
用途:
- 适用于存储不同类型的数据或不同大小的数据,例如混合数据类型的列表、表格数据等。
示例对比
普通数组:
Matlab
A = [1, 2, 3; 4, 5, 6];
element = A(2, 3); % 返回 6
单元格数组:
Matlab
C = {1, 'text', [1, 2, 3]; 4, {5, 6}, 'more text'};
element = C{2, 1}; % 返回 4
nestedElement = C{2, 2}{1}; % 返回 5
- 普通数组 适用于数值计算和矩阵操作。
- 单元格数组 提供了更大的灵活性,适用于混合数据类型的存储和操作。