How to plot actual time on x-axis in emd

I am using the built in function for EMD, but I can't get the time periode I used for the signal.
Can anyone help me with assigning time vector on the x-axis for emd?
Thanks in advance,

 Accepted Answer

You could manually change the axes labels. You may refer to the gca function which returns a handle to the current axes in the current figure. You may also try adding the following lines to manually change the axes labels on the EMD plot:
%Add the following lines after the EMD function call
a = 5083:5093; %time vector
ax = gca; %fetches handle to EMD plot
ax.XLim(1) = 0; %adjusting x-axis to start from 0
ax.XTickLabel = num2cell(a); %manually changes the x-axis labels

3 Comments

Thanks Alan for the answer. However, there is another issue with distributing the time vector over x-axis. When I select a shorter time interval, f.exp. 726s - 728s it will repeat 3 measures all over the axis. Look at the plot below:
You may refer to the linspace function to solve this issue. You may modify the vector 'a' as follows to display a range between 726-728.
a = linspace(726,728,11); %11 points generated linearly between 726 and 728
Thanks again, however the time points are not plotted precisely.

Sign in to comment.

More Answers (0)

Categories

Asked:

on 7 May 2021

Commented:

on 11 May 2021

Community Treasure Hunt

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

Start Hunting!