不同类的有效合并
只要矩阵中的所有元素属于同一类型,矩阵和数组可以由几乎所有 MATLAB® 数据类型的元素组成。如果您在构造矩阵时纳入了不同类的元素,MATLAB 会转换一些元素,以使生成的矩阵中包含的所有元素都为同一类型。
数据类型转换与预设的类优先级相关。下表显示了您可以进行异类串联而不出错的 5 个类(字符和逻辑值间除外)。
类型 | 字符 | 整数 | 单精度值 | 双精度值 | 逻辑值 |
---|---|---|---|---|---|
字符 | 字符 | 字符 | 字符 | 字符 | 无效 |
整数 | 字符 | 整数 | 整数 | 整数 | 整数 |
单精度值 | 字符 | 整数 | 单精度值 | 单精度值 | 单精度值 |
双精度值 | 字符 | 整数 | 单精度值 | 双精度值 | 双精度值 |
逻辑值 | 无效 | 整数 | 单精度值 | 双精度值 | 逻辑值 |
例如,串联 double
和 single
矩阵始终都会生成 single
类型的矩阵。MATLAB 将 double
元素转换为 single
以完成该过程。