映射字符串单元格数组中的键和值

时间:2014-12-08 11:54:49

标签: matlab cell-array keyset

我的数据从数据库查询返回到matlab,如下所示:

{10000 by 1 cell}
[10000 by 1 double]
[10000 by 1 double]
[10000 by 1 double]
[10000 by 1 double]  

第一个元素是一堆共享代码 - (不是唯一的,有些重复)

接下来的四个要素是,例如:

bids, offers, traded price, close price 

我使用share_codes = data{1}可以给我分享代码(但他们仍然是一个单元格)

我想将共享代码映射到一个数字,这将允许我以矩阵格式处理它们。

我可以用

keySet = {sharecode1, sharecode2, sharecode3}

我可以用

valueSet = [1,2,3]

我可以用

newMap = containers.Map(keySet, valueSet)

但是我现在想要从cellarray创建一个新的矩阵,即查看data{1},现在而不是sharecodes它现在有映射的数字。

一个

的单元格数组
sharecode1, sharecode2, sharecode3, sharecode2    

现在是一个带

的矩阵
1, 2, 3, 2

我想说真正的问题是单元格数组的第一个元素是一堆字符串。

1 个答案:

答案 0 :(得分:0)

cellfun函数可以工作,并且能够以“double”类型的形式将数据{1}(这是一个cellarray)中的字符串作为coloumn向量返回

strings_in_numbers = cellfun(@(x),mapObj(x),share_codes)

(在朋友的帮助下找到)。