find Maximum values in intervals of time(each 2000 values)

2 vues (au cours des 30 derniers jours)
navid jafari
navid jafari le 28 Oct 2022
Commenté : Star Strider le 30 Oct 2022
hi
I have a raw of 240001 values. I want to find Maximum values in every 2000 data with its time index.
u= 1 * 240001
t=1 * 240001
max of u[1-2000]? t index ?
max of u[2001-4000] ? t index?
....
thanks for helping me.

Réponse acceptée

Star Strider
Star Strider le 28 Oct 2022
It would help to have the data.
Try something like this —
u = randn(1, 24001);
t = 1:numel(u);
r = 2000;
U = zeros(r,ceil(numel(u)/r));
U(1:numel(u)) = u; % 'U' Matrix
T = zeros(r,ceil(numel(t)/r));
T(1:numel(t)) = t; % 'T' Matrix
[max2000,idx] = max(U);
for k = 1:size(U,2)
t2000(k) = T(idx(k),k);
end
max2000
max2000 = 1×13
3.5442 3.4805 3.3493 3.7120 4.4885 2.9583 2.9585 3.1143 3.7602 3.0909 3.3839 3.2174 1.5598
t2000
t2000 = 1×13
1161 3914 4518 7332 9805 10305 12787 15740 17991 19423 20578 23642 24001
.
  2 commentaires
navid jafari
navid jafari le 30 Oct 2022
thanks a lot.
It works.
Star Strider
Star Strider le 30 Oct 2022
As always, my pleasure!

Connectez-vous pour commenter.

Plus de réponses (1)

Florian Bidaud
Florian Bidaud le 28 Oct 2022
Hi,
I would do something like that
for i = 1:(length(u)-1)/2000
maxArray(i) = max(u((i-1)*2000+1:i*2000));
end
You'll have to adjust for the last value to include the 240001st value, your last interval would be [238001:240001] instead of [238001:240000]
  1 commentaire
navid jafari
navid jafari le 30 Oct 2022
thank you.
but I couldn't use this code for my problem.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Get Started with MATLAB dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by