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

Ale*_*lex 1 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.
Run Code Online (Sandbox Code Playgroud)

我该怎么做才能修改独特的功能,以便它可以在标量的单元阵列上工作?即我想

>> unique({1 2 3 1})

ans =

     [1]     [2]     [3]
Run Code Online (Sandbox Code Playgroud)

Dan*_*iel 5

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

unique({'1' '2' '3' '1'})
Run Code Online (Sandbox Code Playgroud)

要转换单元格,请使用

cellfun(@num2str,{1,2,3,1},'uni',false)
Run Code Online (Sandbox Code Playgroud)