How to calculate Cycles
    6 views (last 30 days)
  
       Show older comments
    
    Mekala balaji
      
 on 22 Feb 2018
  
    
    
    
    
    Commented: Mekala balaji
      
 on 23 Feb 2018
            Hi,
I have data, want to calculate cycles after each reset of lifetime(each cycle life hours are different),
lifeHours
0.2
3
12
18
22
0.8
1.5
2.9
5
8
11
17
1
4
5
8
13
17
23
28
Desired Output: Cycles start from 1
Cycles
  1
  1
  1
  1
  1
  2
  2
  2
  2
  2
  2
  2
  3
  3
  3
  3
  3
  3
  3
  3
Many thanks in advance,
Accepted Answer
  Star Strider
      
      
 on 22 Feb 2018
        Defining ‘v’ as your vector:
[~,locs] = findpeaks(-v);                           % Find Minima
tlocs = [1; locs; numel(v)+1];                      % Define Cycle Limits
dlocs = diff(tlocs);                                % Cycle Lengths
Output = repelem([1 2 3], dlocs)';                  % Vector Of Cycle Designations (R2015a & Later)
Cycles = [v Output]
Cycles =
          0.2            1
            3            1
           12            1
           18            1
           22            1
          0.8            2
          1.5            2
          2.9            2
            5            2
            8            2
           11            2
           17            2
            1            3
            4            3
            5            3
            8            3
           13            3
           17            3
           23            3
           28            3
0 Comments
More Answers (1)
  Pawel Jastrzebski
      
 on 22 Feb 2018
        
      Edited: Pawel Jastrzebski
      
 on 22 Feb 2018
  
      Consider the following code:
data = [0.2  3  12  18  22  0.8  1.5  2.9  8  11  17  1  4  5  8  13  17  23  28]'
% preallocation
cycle(length(data),1) = 0
% manually mark a beginning of the first cycle
cycle(1) = 1;
for i=2:length(data)
    if data(i)>data(i-1)
        cycle(i) = cycle(i-1);
    else
        cycle(i) = cycle(i-1)+1;
    end
end
cycle
The output:
>> cycle
cycle =
       1
       1
       1
       1
       1
       2
       2
       2
       2
       2
       2
       3
       3
       3
       3
       3
       3
       3
       3
0 Comments
See Also
Categories
				Find more on R Language 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!

