#matlab
#matlab
Вопрос:
У меня есть вектор даты date_vec, который, скажем, имеет каждый день с 2000 по сегодняшний день (хранится как номер даты). Затем у меня есть матрица с именем sale_matrix, которая имеет тип double и размер 8000 x 4.
Что мне нужно сделать, так это найти номер индекса для каждой даты в моей матрице продаж. Однако я просматривал datefind, который всегда возвращает результаты в списке заказов, и эти даты не будут в любом порядке. Глядя на функции даты MATLAB, я все равно не вижу ничего, кроме использования цикла for. Есть ли другой способ решить эту проблему?
Редактировать
Пример матрицы продаж ниже. Пожалуйста, обратите внимание, что даты фактически хранятся в виде чисел в матрице, которую я использую даты ниже, поскольку ее немного легко читать.
Также NaN можно заменить фиктивной датой, если это упрощает задачу.
sales matrix
potential_sale confirmed_sale completed_sale cancelled_sale
2000-05-06 2000-06-02 2000-08-15 NaN
2004-11-14 2005-01-05 NaN 2005-01-12
2002-02-16 2002-02-25 2002-04-10 NaN
2010-03-08 2010-04-01 2010-04-19 NaN
Комментарии:
1. Некоторые примерные значения
sale_matrix
могут помочь нам лучше понять это.2. Привет @Divakar пожалуйста, ознакомьтесь с обновлением.
3. Итак, у вас есть
sales_matrix
матрицаdatevectors
с некоторыми из нихNaNs
, верно?4. Тогда, как насчет этого —
sales_matrix - datenum('2000-01-01') 1
? То1
есть для начала индексации с1
вместо0
, из-за вычитания. Не совсем уверен, искали ли вы это.5. ах да! красиво и просто. Думаю, я слишком много думал об этом, еще раз спасибо!