扩展唯一的最佳方法,以便它可以在标量的单元阵列上工作

时间:2015-09-14 03:32:31

标签: matlab

Matlab函数unique不适用于标量的单元格数组,例如。

>> unique([1 2 3 1])

ans =

     1     2     3

>> unique({1 2 3 1})
Error using cell/unique (line 85)
Input A must be a cell array of strings.

我可以做些什么来修改独特的功能,以便它可以在标量的单元格阵列上工作?我希望

>> unique({1 2 3 1})

ans =

     [1]     [2]     [3]

1 个答案:

答案 0 :(得分:5)

我建议在单元格中使用任意一个字符串,或在向量中使用双精度数字。许多函数如unique仅适用于字符串的单元格数组,而不适用于任何其他单元格。

unique({'1' '2' '3' '1'})

要转换单元格,请使用

cellfun(@num2str,{1,2,3,1},'uni',false)