matlab cell强制转化为字符串
时间: 2023-06-16 10:08:00 浏览: 394
要将MATLAB中的cell类型转换为字符串类型,可以使用cell2mat函数。示例如下:
```
myCell = {'hello', 'world'};
myString = cell2mat(myCell);
disp(myString);
```
这将输出字符串`helloworld`。请注意,如果cell数组中的元素不是字符串,则在转换时会出错。
相关问题
mwarray中存储字符串数组
在 MATLAB 中,要存储字符串数组,通常会使用 `cellarray`(也叫单元格数组)结合 `mxCHAR` 类型,因为 MATLAB 自带的 `mwarray` 是为了处理数值型数据设计的。`mwArray` 包含了多种类型,如 `double`, `single`, `int8` 等,但不包括字符串。以下是存储字符串数组的基本步骤:
1. **创建字符串数组**:
```matlab
str_array = {'Hello', 'World', 'MATLAB'};
```
这里 `{'Hello', 'World', 'MATLAB'}` 创建了一个包含三个元素的字符串单元格数组。
2. **转换为 `mxCHAR`**:
为了在 `mwArray` 中保存,你需要将字符串数组转换为 `mxCHAR` 格式:
```matlab
str_mx = cell2mat(str_array); % 将 cell array 转换为字符矩阵
str_mx_type = typecast(str_mx, 'char'); % 转换为 mxCHAR 类型
```
`typecast` 函数用于强制类型转换。
3. **创建 mwarray**:
最后,你可以创建一个包含 `mxCHAR` 数据的 `mwArray`:
```matlab
str_mwa = mwArray(str_mx_type, [size(str_array)]);
```
`[size(str_array)]` 表示数组的维度。
4. **处理和操作**:
现在你可以对 `str_mwa` 进行类似数值数组的操作,比如索引、切片等,但它仍然是字符类型。
阅读全文