How to plot 8640 datapoints over a 1 day on a second by second basis (i.e. 86400 seconds)

<<
>>
Hi there community!
I wanted to build a signal on signal builder on Simulink. I have about 8640 datapoints that were measured over 10 second intervals for 1 day. I want to present the measured data as a continuous signal spread across the whole duration on a second by second basis- meaning the x-axis time range must be from 0-86400 seconds. How do I go about it? As of now I'm only able to plot the data over the 8640 range on the x-axis.
How to I essentially 'stretch' this data to fit the required range? If if only change the x-axis range on signal builder it doesn't work as it doesn't spread the data.
Any help would be great! Many thanks!!

6 Comments

This is what happens when I change the range to 172800- how do I stretch the data within that range?
Why do you have 8600 datapoints? If you get 1 datapoint every 5s it should be 172800/5.
Do you want to bin your data? Your monitor probably won't be able to display 8600 datapoints correctly.
Oh sorry, my mistake- I was looking at another dataset.
one reading is taken every 10 seconds for 1 day.
So 86400/10= 8640 readings
Basically you could just change the x values:
mydata=randi(10,864,1);
x=1:864;
x=x*10;
plot(x,mydata)
However 8640 datapoints will be too many to be displayed correctly.
Was the corresponding time not recorded? If not, and you are 100% certain that there is no missing data or significant variation in the sampling frequency, then you can just do as @Dennis suggested and build your own x-vector, although I would suggest using duration or datetime format so that the units are embedded.
x = days(0):seconds(10):days(1)
The time was recorded but its like this (10 second intervals): Nope there is no missing data. There are 8640 datapoints for the whole day- one recording taken every 10 seconds.

Sign in to comment.

 Accepted Answer

%%Plotting the measured power signals
mydata=xlsread('pow_demand_test.xlsx');
% Adjusting the x-axis vector (86400 datapoints)
x=1:8640;
x=x*10;
% Plot
plot(x,mydata)
Thanks dennis it worked!Thanks for the tip Jonas- had some issues with implementing that x-scale because the data did not show up. Will have to look more into that about how to fix that. Now I just need to figure out how to import this into signal builder on Simulink.

More Answers (0)

Products

Release

R2018b

Community Treasure Hunt

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

Start Hunting!