Вычесть месяцы с указанной даты

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

мат = [100 734505; 200 734536; 200 734539]; % Col1 является идентификатором, а Col2 является датой

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

1 ответ

Решение

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

newDateVector = arrayfun(@(x) addtodate(x, -3, 'month'), oldDateVector)
Другие вопросы по тегам