有一种快速的方法可以在数组中为数字分配唯一的文本条目吗?

时间:2014-07-16 05:50:05

标签: matlab

在MatLab中,我有几个文本数据向量。例如:

speciesname = [species1 species2 species3];
genomelength = [8 10 5];
gonometype = [RNA DNA RNA];

我意识到要绘制图,数组必须是数字的。是否有一种快速简便的方法可以在数组中分配一个数字中的唯一条目,例如RNA = 1和DNA = 2?请注意,某些数组可能不是二进制(即有两个以上的选项)。

谢谢!

1 个答案:

答案 0 :(得分:0)

所以有一种快速的方法可以做到,但我不确定如果使用数字而不是单词,你的情节将非常清晰。

你可以制作一个像这样的独特数组:

u = unique(gonometype);

并使相应的数字数组只是1:length(u)

然后当您浏览数据时,当前单词的编号为:

find(u == current_name);

对于您的特定情况,您需要使用细胞:

gonometype = {'RNA', 'DNA', 'RNA'};
u = unique(gonometype)

u = 

'DNA'    'RNA'

current = 'RNA';
find(strcmp(u, current))

ans =

   2