如何在MATLAB中将单元格数组更改为数值?

use*_*564 1 matlab

我想做以下事情

输入:(单元格数组)

AB

AC

广告

AAB

AC

AAC

AAB

AC

我希望输出映射到唯一的数值,如

1

2

3

4

2

4

2

是否有捷径可寻?输入大约250,000并且可变长度.我只想将具有相同内容的单元格映射到相同的数字.

谢谢.

Flo*_*ris 5

如果我们调用您的单元格数组A,那么以下命令可以满足您的需求:

[uniqueCells,~,idxYouWant] = unique(A);
Run Code Online (Sandbox Code Playgroud)

在这里,uniqueCells你有唯一的值(按排序顺序); 并且idxYouWant是一个你想要的数字数组,在哪里

A = uniqueCells(idxYouWant);
Run Code Online (Sandbox Code Playgroud)

我认为这正是你所需要的.

  • 别客气.使用第三个参数是我需要google ...而且我使用了`unique`至少200次.:-)你在问题中使用"独特"这个词很有趣.有时答案只是隐藏在视线之内.我们都这样做. (2认同)