2

MATLAB timeseries または Financial timeseries オブジェクトから特定の曜日 (たとえば月曜日) を削除する方法は?

4

2 に答える 2

1

いくつかのアイデアですが、特定の曜日ではなく特定の日付のみを削除します。これを行うには賢い方法がないように見えるため、日付ベクトルを生成して自分自身を削除する必要がある場合があります。

% Set time series
ts = timeseries([3 6 8 0 10 3 6 8 0 10 3 6 8 0 10 3 6 8 0 10 3 6 8 0 10])
ts.Data
tsc = tscollection(ts);
tsc.TimeInfo.Units = 'days';
tsc.TimeInfo.StartDate = '10/27/2005 07:05:36';

% Plot
ts.DataInfo.Interpolation = tsdata.interpolation('zoh');
tsc1.TimeInfo.Format='DD:HH:MM';
figure
plot(ts)

% Change the date-string format of the time vector.
tsc.TimeInfo.Format = 'mm/dd/yy';
tscTime = getabstime(tsc)

% Spot the days you're interested in, get indices and replace them by NaN
% in ts.
dayToDelete = '11/11/05';
idx = strcmp(tscTime, dayToDelete);
ts.Data(idx) = NaN;

% Plot after deleting the specific date
ts.DataInfo.Interpolation = tsdata.interpolation('zoh');
figure
plot(ts)
于 2013-05-27T17:47:26.267 に答える