Find min values in sequence time series
3 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Dear all I like to ask your help for this Matlab function to find mean value of a sequence dataset as demonstrated in Figure below.
Column 5 is min of a range values in column 3 based on column 4 (with fd =1).
Thank you very much
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/193610/image.jpeg)
0 Kommentare
Akzeptierte Antwort
KSSV
am 31 Okt. 2018
As the data is not given, I have created some random data...check the code:
v = [1 2 3 0 0 0 0 0 2 3 4 0 0 0 0 0 4 5 6 7 0 0 0 0 1 1 1]';
A = rand(27,4) ;
A(:,4) = v ;
w = [false; v~=0 ;false];
starts = find(w(2:end) & ~w(1:end-1)); %Get starts of runs of non-zeros
ends = find(~w(2:end) & w(1:end-1))-1; % Get ends of runs of non-zeros
result = arrayfun(@(s,e) A(s:e,1:3), starts, ends, 'uniformout', false); % extract the respective parts
iwant = cellfun(@mean,result,'uniformout',false)
2 Kommentare
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Logical finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!