我的数据从数据库查询返回到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
我想说真正的问题是单元格数组的第一个元素是一堆字符串。
答案 0 :(得分:0)
cellfun函数可以工作,并且能够以“double”类型的形式将数据{1}(这是一个cellarray)中的字符串作为coloumn向量返回
strings_in_numbers = cellfun(@(x),mapObj(x),share_codes)
(在朋友的帮助下找到)。