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

1 Ansicht (letzte 30 Tage)
joms
joms am 6 Sep. 2019
Beantwortet: RSaha am 9 Sep. 2019
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

Antworten (1)

RSaha
RSaha am 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;

Kategorien

Mehr zu Simulink finden Sie in Help Center und File Exchange

Produkte


Version

R2013b

Community Treasure Hunt

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

Start Hunting!

Translated by