timeseries

Methods

Method Reference: timeseries.addsample

timeseries: ts = addsample (ts, 'Data', data, 'Time', time)

timeseries: ts = addsample (…, 'Quality', quality)

timeseries: ts = addsample (…, 'OverwriteFlag', tf)

timeseries: ts = addsample (ts, S)

Add samples to a series.

ts = addsample (ts, 'Data', data, 'Time', time) inserts the samples data at the times time, one sample per time, keeping the series in time order; a sample at a time already present goes after the samples there. data is read against time as the constructor reads data against times, and each sample must have the size of the series’ samples; a series with no samples takes any. For a series with no TimeInfo.StartDate time is numbers in its units; for one with a start date it may also be dates as text, or a datetime. The class of the data follows concatenation, so an int8 sample makes a double series int8.

The option names are matched in any case, and a later occurrence overrides an earlier one. They may also be given as the fields of a structure S.

'Quality'
The quality codes of the new samples, one per sample or one per data element, as the series has them. Refused for a series without quality codes. When a series with codes is given none, each new sample takes the code of the sample nearest in time, the later one on a tie.
'OverwriteFlag'
When true, a new sample at a time already present replaces the data of every sample there, and their quality codes if 'Quality' is given, instead of being inserted. false by default. MATLAB refuses 0 and 1 here.

See also: timeseries.delsample, timeseries.append

Source Code: timeseries

New samples are put in time order; one at a time already present goes after the samples there.

 ts = timeseries ([10; 20; 30], [0; 1; 2]);
 ts = addsample (ts, 'Data', [15; 25], 'Time', [0.5; 1]);
 [ts.Time, ts.Data]
ans =

         0   10.0000
    0.5000   15.0000
    1.0000   20.0000
    1.0000   25.0000
    2.0000   30.0000

A series with quality codes gives each new sample the code of the nearest sample, unless 'Quality' is given. 'OverwriteFlag' replaces the samples at a time instead of adding one.

 ts = timeseries ([10; 20; 30], [0; 1; 2], [1; 2; 3]);
 s = addsample (ts, 'Data', 99, 'Time', 1.8);
 [s.Time, s.Data, s.Quality]
ans =

         0   10.0000    1.0000
    1.0000   20.0000    2.0000
    1.8000   99.0000    3.0000
    2.0000   30.0000    3.0000
 s = addsample (ts, 'Data', 99, 'Time', 1, 'OverwriteFlag', true);
 [s.Time, s.Data, s.Quality]
ans =

    0   10    1
    1   99    2
    2   30    3