Hi,
I have 2 columns in data, time and s. I want to add all values of S when time = 1. Similarly, I want to repeat this for all values of time. I know this is a simple task, but i am not getting any output . Please help.

 採用された回答

Benjamin Dassé
Benjamin Dassé 2020 年 8 月 6 日

0 投票

Hi,
When time = 1 you can sum all values of S in writing :
sum(S(time==1))
So you can do for all time values
Results = zeros(numel(unique(time)),2)
j=0;
for i = unique(time)'
j=j+1;
Results(j,:) = [i sum(Y(time==i))] % [new_time new_S]
end
Regards,

その他の回答 (1 件)

KSSV
KSSV 2020 年 8 月 6 日

0 投票

Let A be your n*2 array.
t = A(:,1) ;
s = A(:,2) ;
[C,ia,ib] = unique(t) ;
N = length(C) ;
iwant = zeros(N,1) ;
for i = 1:N
iwant(i) = sum(s(ib==i)) ;
end
iwant

2 件のコメント

Tehreem Syed
Tehreem Syed 2020 年 8 月 6 日
Thanks, it was helpful.
Tehreem Syed
Tehreem Syed 2020 年 8 月 6 日
I can accept only one answer, all of the solutions were really helpful and correct for me.
Regards

サインインしてコメントする。

カテゴリ

ヘルプ センター および File ExchangeLoops and Conditional Statements についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by