Clear Filters
Clear Filters

Processing Timeseries of Cylinder Pressure Data

3 views (last 30 days)
Dear All - need help to execute below in Matlab:
  1. Open an excel file containing timeseries of pressure data for 4 cylinders for a 15year period (see attached sample file with ~1day of data).
  2. However due to sensor error, data for all cylinders may not be available for all the timestamps, therefore need to
a) Develop a master timestamp array - one option is that this can be the timestamp array for the cylinder with the shortest timestamp array
b) For each timestamp in the master array,
i) check whether pressure data is available for each cylinder
ii) if data is available, check whether data is meaningful (within min-max range - values TBD)
c) If for a given timestamp, meaningful data is available for all four cylinders, then multiply by a calibration factor (value TBD) and add to get total pressure and save to a new array with associated timestamp
d) Else move to next timestamp
3. Plot the total pressure (y-axis) vs time (x-axis)

Accepted Answer

KSSV on 29 Mar 2023
REad about functions: readtable, datetime, logical inequalitties and plot

More Answers (1)

Peter Perkins
Peter Perkins on 5 Apr 2023
Your file has four time series in it. I would recommend reading those four ranges using readtimetable to get four timetables. Then use synchronize to get one timetable with a common time vector and four series, one for each cylinder. synchronize has options to return the union or intersection of the four time vectors, and options to interpolate or fill in with NaN. And you can replace out of range values with NaN by hand or using remove outliers. It's all there.
Once you have the data cleaned up, the math to combine across cynlinders and add a new series to your timetable is simple.
No loops are needed here.


Find more on Preprocessing Data in Help Center and File Exchange


Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!