Отображение ключей и значений из массива ячеек строк

Мои данные возвращаются из запроса к базе данных в 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 ответ

Функция cellfun работает и может возвращать строки из данных {1} (которые были cellarray) как вектор столбца в форме типа 'double'

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

(найдено после помощи от друга).

Другие вопросы по тегам