Отображение ключей и значений из массива ячеек строк
Мои данные возвращаются из запроса к базе данных в 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)
(найдено после помощи от друга).