mean value of array after every n columns

1 次查看(过去 30 天)
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.

采纳的回答

Ameer Hamza
Ameer Hamza 2020-12-8
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 个评论
Fatma Nur Disci
Fatma Nur Disci 2020-12-16
编辑:Fatma Nur Disci 2020-12-16
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.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Data Types 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by