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

What does
a 102 a 135 a 157 b 189 b 201 a 222 a 245 b 290
mean?
SS
SS 2014년 10월 16일
편집: SS 2014년 10월 16일
  • a =102 sec
  • a =135
  • a =157
  • b =189
  • b =201
  • a =222
  • a =245
  • b =290
José-Luis
José-Luis 2014년 10월 16일
I still don't see the two columns.
SS
SS 2014년 10월 16일
its actually two columns..I just put an = between them.Here, a is in one column and 102 in other coloumn
José-Luis
José-Luis 2014년 10월 16일
So is your variable a table or do you have two column vectors: one with strings and the other with numbers?
SS
SS 2014년 10월 16일
It's two column vectors: one with string and other with number.

댓글을 달려면 로그인하십시오.

 채택된 답변

Andrei Bobrov
Andrei Bobrov 2014년 10월 16일

0 개 추천

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);

추가 답변 (1개)

Rainer
Rainer 2014년 10월 16일

0 개 추천

I don't see the two columns and I don't understand what a and b are.

댓글 수: 1

SS
SS 2014년 10월 16일
sorry..i corrected it:
  • a =102 sec
  • a =135
  • a =157
  • b =189
  • b =201
  • a =222
  • a =245
  • b =290

댓글을 달려면 로그인하십시오.

카테고리

도움말 센터File Exchange에서 Operators and Elementary Operations에 대해 자세히 알아보기

태그

질문:

SS
2014년 10월 16일

답변:

2014년 10월 16일

Community Treasure Hunt

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

Start Hunting!

Translated by