How to add time from 2 arrays
    9 visualizzazioni (ultimi 30 giorni)
  
       Mostra commenti meno recenti
    
Hi, I am a new user of Matlab. I have the following problem:
I have two columns like this way.
- a =102 sec
 - a =135
 - a =157
 - b =189
 - b =201
 - a =222
 - a =245
 - b =290
 
Here the values are in seconds. I want to write a formula, which show the total duration of seconds of a and b.
For example: here total duration of a is = (157-102) + (245-222) = 78 seconds.
Please suggest me how to do it.
Thanks
6 Commenti
  José-Luis
      
 il 16 Ott 2014
				So is your variable a table or do you have two column vectors: one with strings and the other with numbers?
Risposta accettata
  Andrei Bobrov
      
      
 il 16 Ott 2014
        C = {'a' 102
'a' 135
'a' 157
'b' 189
'b' 201
'a' 222
'a' 245
'b' 290}
cn = [C{:,2}]';
[~,~,c1] = unique(C(:,1));
t = [true;diff(c1)~=0];
s1 = accumarray(cumsum(t),cn,[],@(x)x(end)-x(1));
out = accumarray(c1(t),s1);
0 Commenti
Più risposte (1)
Vedere anche
Categorie
				Scopri di più su Operators and Elementary Operations in Help Center e File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!