new_idx = unique(new_idx); 错误使用 cell/unique (第 85 行) 元胞数组输入必须为字符向量元胞数组。
时间: 2024-01-21 14:16:32 浏览: 97
cellstrfind:类似于 strfind,但用于元胞数组-matlab开发
这个错误是因为你在使用 `unique` 函数时,输入的数组是一个元胞数组,而 `unique` 函数只能对字符向量元素进行去重操作,不能对元胞数组进行操作。
解决方法是将元胞数组转换为字符向量元素。可以使用 `cellfun` 函数将每个元胞转换为字符向量,然后再将结果传递给 `unique` 函数。示例代码如下:
```
new_idx = unique(cellfun(@(x) char(x), new_idx, 'UniformOutput', false));
```
这里 `cellfun(@(x) char(x), new_idx, 'UniformOutput', false)` 表示对 `new_idx` 中的每个元胞 `x`,都执行 `char` 函数转换为字符向量,最终返回一个字符向量元胞数组。`'UniformOutput', false` 表示输出的结果是一个元胞数组。最后将返回的字符向量元胞数组传递给 `unique` 函数进行去重操作。
阅读全文