Я прочитал следующую таблицу из MySQL в массив MATLAB клеток:группы по одному столбцу и вычислить медиану для групп в MATLAB
Nyse = fetch(conn,'SELECT ticker,date,utcsec,bid,ofr FROM HFE.Quotes where ex="N" order by utcsec,bid;');
Массив клеток Nyse содержат строки 1000000. И я хочу рассчитать медианную ставку за каждую секунду, где вторая записывается как строка в столбце utcsec. Я делаю это следующим образом:
utcsec=cell2mat(Nyse(:,3));
bid=cell2mat(Nyse(:,4));
NyseBid=grpstats(bid,utcsec,{'median'});
Проблема заключается в том, что функция grpstats занимает около 70 секунд, чтобы сделать задачу. Вопрос в том, как я могу оптимизировать код, чтобы он работал быстрее?
Пример строки в столбце UTCSEC равен '09: 30: 00 '.
Один миллион строк - это не тривиальное количество данных. Вам нужна только медиана или вам нужна другая информация, рассчитанная 'grpstats'? – excaza
Только медиана :) –
Я не уверен, что полностью соблюдаю данные. Каковы размеры и типы данных 'utcsec' и' bid'? Является ли 'utcsec' только вектором времени? – excaza