How to calculate the duration of data points in days
    4 vues (au cours des 30 derniers jours)
  
       Afficher commentaires plus anciens
    
    TESFALEM ALDADA
 le 19 Oct 2021
  
    
    
    
    
    Commenté : TESFALEM ALDADA
 le 21 Oct 2021
            Hi,
I have a daily data series with pulses. The data is for 1 year (starts in 1st day and end 365 days) but there are NAN values between as shown in image below.
Then I want to determine individual duration and mean duration for the three pulses with data e.g the duration from a1-a2, b1-b2, and c1-c2. Since i do have alot of data of this type i wanted some kind of loop to do the problem, because manual counting takes to much time.
Can someone help me with some code to determine this? Alternatively, a different way of determining the same thing would be appreciated.
Start_Date = datenum(1995,01,01);
End_Date = datenum(1995,12,31);
YearlyVEC = datevec((Start_Date:End_Date)');
So i wanted to determine the day also from the variable YearlyVEC,
a data of the pulses is also attched below

Thanks! 
0 commentaires
Réponse acceptée
  Star Strider
      
      
 le 19 Oct 2021
        Try something like this — 
Data = readmatrix('https://www.mathworks.com/matlabcentral/answers/uploaded_files/772213/pulses.txt');
Days = 1:numel(Data);
NaNStart = strfind(~isnan(Data(:).'), [0 1])+1;
NaNStop = strfind(~isnan(Data(:).'), [1 0]);
DiffDays = NaNStop - NaNStart;
cntr = NaNStart + DiffDays/2;
figure
plot(Days, Data)
hold on
% plot(Days(NaNStart), Data(NaNStart), '>r')
% plot(Days(NaNStop), Data(NaNStop), '<r')
hold off
grid
text(cntr, ones(size(cntr)).*min(Data([NaNStart; NaNStop])), compose('\\leftarrow %.0f Days\\rightarrow', DiffDays), 'Horiz','center', 'Vert','middle')
.
5 commentaires
  Star Strider
      
      
 le 21 Oct 2021
				Noted!  
My code worked for the example shown, however it may not be uniformly robust to all such data (as you discovered).  Your modifications to it are appropriate.  
.
Plus de réponses (0)
Voir également
Catégories
				En savoir plus sur Time Series Objects dans Help Center et File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!



