Matlab 创建不包括周末的日期向量
我试图创建一个每日日期的向量。但是,我不想包括周末(即周六或周日) 我使用的是isbusday函数,它几乎满足了我的要求。在我的日期向量(“日期向量”)中没有周六或周日返回但是,它也删除了美国的银行假日,因此,例如,在我的日期向量中,没有12月25日。有没有办法强制此方法忽略银行假日,或者我应该使用另一种方法Matlab 创建不包括周末的日期向量,matlab,date,weekday,Matlab,Date,Weekday,我试图创建一个每日日期的向量。但是,我不想包括周末(即周六或周日) 我使用的是isbusday函数,它几乎满足了我的要求。在我的日期向量(“日期向量”)中没有周六或周日返回但是,它也删除了美国的银行假日,因此,例如,在我的日期向量中,没有12月25日。有没有办法强制此方法忽略银行假日,或者我应该使用另一种方法 date_vec = [dt_start : dt_end]; % daily dates weekend_vec = [1 0 0 0 0 0 1];
date_vec = [dt_start : dt_end]; % daily dates
weekend_vec = [1 0 0 0 0 0 1]; % vector to help remove weekends
bus_day = isbusday(date_vec, [], weekend_vec);
date_vec(bus_day == 0) = [];
Matlab函数ISBUSDAY
%ISBUSDAY True for dates that are business days.
%
% T = ISBUSDAY(Date, Holiday, Weekend)
%
% Inputs:
%
% Date - a vector of dates in question. Dates are assumed to be whole
% date numbers or date stamps with no fractional or time
% values.
%
% Optional Inputs:
%
% Holiday - a user-defined vector of holidays. The default
% is a predefined US holidays (in holidays.m)
%
% Weekend - a vector of length 7, containing 0 and 1, with
% the value of 1 to indicate weekend day(s).
% The first element of this vector corresponds
% to Sunday.
% Thus, when Saturday and Sunday are weekend
% then WEEKEND = [1 0 0 0 0 0 1]. The default
% is Saturday and Sunday weekend.
< P> >,如果第二个参数是“代码> [] /代码>,它使用默认假日。强制<代码> iBaseDay/Cuth>根本不考虑节假日,使用第二个参数作为超出您范围的值,如串行日期<代码> 0 /代码>:< /P>
bus_day = isbusday(date_vec, 0, weekend_vec);
< P> >,如果第二个参数是“代码> [] /代码>,它使用默认假日。强制<代码> iBaseDay/Cuth>根本不考虑节假日,使用第二个参数作为超出您范围的值,如串行日期<代码> 0 /代码>:< /P>
bus_day = isbusday(date_vec, 0, weekend_vec);
请发布一个可运行的示例:define
dt\u start
etcTrymod(date\u vec,7)
,您应该会发现这将为一周中的每一天分配一个唯一的数字(0-6)。然后您可以像过滤数字一样过滤周末。weekday函数可以工作吗?类似ismember(weekday(date\u vec),2:6的东西请发布一个可运行的示例:definedt\u start
etcTrymod(date\u vec,7)
,您应该会发现这将为一周中的每一天分配一个唯一的数字(0-6)。然后您可以像过滤数字一样过滤周末。weekday函数可以工作吗?类似ismember(weekday(date\u vec),2:6的东西