mean value of array after every n columns

1 visualizzazione (ultimi 30 giorni)
Hi,
I have 1x131072 dataPower array read from matfile. And want to average each every 128 columns. What's the problem here ?
a = matfile('x');
b=a.dataPower; %dataPower array
bround=round(b(1:131072) % array include double values like 297.3865 and just try to cast to 297 for example.
for i = 1024
k(i) = mean(bround((i-1)*128+1:i*128),2)
end
And want to get 1024 value. But error : subscript indices must either be real positive integers or logicials.
Thanks.

Risposta accettata

Ameer Hamza
Ameer Hamza il 8 Dic 2020
Here is a loop-free option
a = matfile('x');
b=a.dataPower; %dataPower array
bround=round(b(1:131072));
k = mean(reshape(bround, 128, []))
  1 Commento
Fatma Nur Disci
Fatma Nur Disci il 16 Dic 2020
Modificato: Fatma Nur Disci il 16 Dic 2020
Hi , I thought that I was deleting this question bcs after asked it, I solved my problem, but it still appears. Thanks for your help, anyway.

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Data Types 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!

Translated by