How to make a sequence of time and the corresponding data from a data set where time is not provided sequentially

2 views (last 30 days)
I have some time series data for velocity, density for 30 mins time gap. But when I plotted, I see the time overlaps. How can I make the data set sequential for time with the corresponding data?
Can I do it without interpolation?
Thanks for help!
Suppose time = [1, 5, 10, 15, 20, 16, 21, 26, 31] and velocity and density are for the corresponding time.
  1 Comment
Dyuman Joshi
Dyuman Joshi on 21 Feb 2024
Moved: Dyuman Joshi on 24 Feb 2024
Sort the time data, and use the indices obtained (2nd output of sort) to get the corresponding velocity and density values, and plot accordingly.

Sign in to comment.

Accepted Answer

Aquatris on 21 Feb 2024
Edited: Aquatris on 21 Feb 2024
You cannot fill the gaps in your data without physically taking more data or interpolating.
However if your problem is to order the time vector so that it is strictly increasing then you can use sort function:
time = [1, 5, 10, 15, 20, 16, 21, 26, 31];
data = [10 20 25 30 35 27 36 40 45];
[timeSorted,idx] = sort(time);
dataSorted = data(idx);
subplot(2,1,1),plot(time,data,'bx-'),xlim([0 32]),title('Original Data')
subplot(2,1,2),plot(timeSorted,dataSorted,'rx-'),xlim([0 32]),title('Sorted Data')

More Answers (0)


Find more on 2-D and 3-D Plots 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!