Вычесть месяцы с указанной даты - PullRequest
2 голосов
/ 16 ноября 2011

Мне нужно вычесть месяцы из заданного DateCol в матрице.Я использовал команду bsxfun(@minus, datevec(date),[0,3,0,0,0,0]), чтобы вычесть 3 месяца из указанной даты.Вы можете видеть, что в этом коде есть ошибка.Если дата 1 февраля 2011 г., этот код переводит вас на 1 января 2011 г., а НЕ 1 ноября 2010 г.

mat = [100 734505;200 734536;200 734539];% Col1 - ID, а Col2 - Дата

Можете ли вы предложить векторизованный подход?Для одной даты (вне матрицы) addtodate(d, -3, 'month') отлично работает!

1 Ответ

1 голос
/ 16 ноября 2011

как насчет этого?

newDateVector = arrayfun(@(x) addtodate(x, -3, 'month'), oldDateVector)
...