我需要从矩阵中的给定DateCol中减去几个月。我使用命令bsxfun(@minus, datevec(date),[0,3,0,0,0,0])
从给定日期减去3个月。您可以看到此代码中存在错误。如果日期是2011年2月1日,则此代码将带您到2011年1月1日而不是2010年11月1日。
mat = [100 734505; 200 734536; 200 734539]; %Col1是ID,Col2是Date
你能建议一种矢量化方法吗?对于单日期(矩阵之外),addtodate(d, -3, 'month')
完全正常工作!
答案 0 :(得分:1)
怎么样?
newDateVector = arrayfun(@(x) addtodate(x, -3, 'month'), oldDateVector)