How to save max data of a time series data from simulink

2 views (last 30 days)
I have an output from simulink of the following array. It calculates Kw value per 0.1 seconds i want to get total kw when "valid "array is 1 either in simulink or in matlab
valid=[0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 1 1 1 0 0 0 ]
kwdata=[0 0 0 0 0 0 2 3 4 5 5 2 0 0 0 0 0 1 2 3 0 0 0]
Desired output
Desired output=[sum[2 3 4 5 5 2] sum[1 2 3]]
Desiredout=[21 6]/0.1

Answers (1)

RSaha
RSaha on 9 Sep 2019
s=find(diff(valid)==1);
e=find(diff(valid)==-1);
Desiredout=[sum(kwdata(s(1):e(1))) sum(kwdata(s(2):e(2)))]/0.1;

Categories

Find more on Simulink in Help Center and File Exchange

Products


Release

R2013b

Community Treasure Hunt

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

Start Hunting!