-1

我的数据从数据库查询返回到 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}which 可以给我共享代码(但它们仍然是一个单元格)

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

我可以用

keySet = {sharecode1, sharecode2, sharecode3}

我可以用

valueSet = [1,2,3]

我可以用

newMap = containers.Map(keySet, valueSet)

但是我现在想从cellarrayie 创建一个新的矩阵,它现在看起来data{1}而不是sharecodes现在拥有映射的数字。

所以一个单元阵列是

sharecode1, sharecode2, sharecode3, sharecode2    

现在是一个矩阵

1, 2, 3, 2

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

4

1 回答 1

0

cellfun 函数有效并且能够从 data{1} (它是一个单元格数组)中返回字符串作为“double”类型的列向量

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

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

于 2014-12-10T11:16:45.833 回答