2011-11-15 4 views
2

Je dois soustraire des mois d'un DateCol donné dans une matrice. J'utilisais la commande bsxfun(@minus, datevec(date),[0,3,0,0,0,0]) pour soustraire 3 mois de la date donnée. Vous pouvez voir qu'il y a un bug dans ce code. Si la date est le 1er février 2011, ce code vous amène au 1er janvier 2011 et NON au 1er novembre 2010.Soustraire des mois d'une date donnée

mat = [100 734505; 200 734536; 200 734539]; % Col1 est ID et Col2 est Date

Pouvez-vous suggérer une approche vectorisée? Pour une seule date (en dehors de la matrice), addtodate(d, -3, 'month') fonctionne parfaitement bien!

Répondre

1

qu'en pensez-vous?

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