How to compute harmonic average on the blocks of an array?
1 visualizzazione (ultimi 30 giorni)
Mostra commenti meno recenti
Nisar Ahmed
il 17 Ago 2022
Commentato: Nisar Ahmed
il 18 Ago 2022
Hi,
I have attached the data Mmin, I want to compute the harmonic average of first 4 values and then next 4 and so on. In short in the blocky form and each block is of 4 values.
Just like shown in the attached figure. after taking harmonic mean of first four values, there will be one value instead of four and so on.
Can someone help me to write it code?
Thanks
0 Commenti
Risposta accettata
David Hill
il 17 Ago 2022
a=randi(100,1,100);%some vector
for k=1:length(a)-3
A(k)=harmmean(a(k:k+3));
end
4 Commenti
David Hill
il 18 Ago 2022
Modificato: David Hill
il 18 Ago 2022
I misunderstood you. I thought you wanted a rolling harmonic mean 1-4 then 2-5, then 3-6, 4-7, etc. I simple change will correct.
a=randi(100,1,32);%some vector
c=1;
for k=1:4:length(a)-3
A(c)=harmmean(a(k:k+3));
c=c+1;
end
A
Or
m=movsum(1./a,4,'Endpoints','discard');
A=4./m(1:4:end)
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Operators and Elementary Operations in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!