how to Use cumsum for a random variables of times to reach a certain value
    7 views (last 30 days)
  
       Show older comments
    
    talal alqahtani
 on 30 Jul 2019
  
    
    
    
    
    Answered: Ajay Pattassery
    
 on 2 Aug 2019
            I have a data of random times and in the other hand a current simulation time ( slots ) and each slot is 3.5 seconds then 7 seconds and so on. How can I compare the current simulation time with the random times and fit the times that belong to each slot. I'm thinking of cumsum . can that work ? 
2 Comments
  Jan
      
      
 on 30 Jul 2019
				Hard to guess. I assume: Yes.
Please explain the dta in detail, because "a data of random times" is not clear enough. Which type and size? Post some example in valid Matlab code, such that we can post a matching code.
Accepted Answer
  Ajay Pattassery
    
 on 2 Aug 2019
        I understand that you have packet arrival times generated randomly and I assume you want to find the number of packet arrival in timeslots of width 3.5 seconds. 
 Let’s take the following example, where ‘incrementArrival’ is the time increments on which packets are generated. (Output of the Workbook.xlsx file you provided) 
 incrementArrival = [0 0.2 1 2.5]; 
‘Cumsum’ gives the actual time of arrival of each packet. You could refer to the documentation of cumsum for more info.
packetArrival = cumsum(packetArrival) 
packetArrival = 
         0    0.2000    1.2000    3.7000  
If you want to find the number of packets that arrived in slots of 3.5 seconds, you could use histcounts. 'slotEndTime' is the end time of the slots(Assumed 2 slots ranging from 0 to 3.5 and 3.5 to 7) 
slotEndTime = 7;
packetInslots = histcounts(packetArrival,[0:3.5:slotEndTime]) 
packetInslots =    3     1 
That is 3 packets arrived in the first time slot(0 to 3.5) and 1 packet in the second slot(3.5 to 7) 
0 Comments
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!