How to take the mean of each four adjacent position in a matrix?

1 Ansicht (letzte 30 Tage)
So I have this matrix variable that I attached here. Its 1536 by 2048, and I want to reduce it to 768 by 1024 by taking the mean of each four adjacent positions with the omitnan opition as well so I can take out the useless NaNs there. I hope someone can help. Thanks

Akzeptierte Antwort

Chuguang Pan
Chuguang Pan am 12 Jun. 2022
A=randi(10,1536,2048); % test Matrix
M=zeros(768,1024); % result Matrix
for row=1:768
for col=1:1024
M(row,col)=mean(A(2*row-1:2*row,2*col-1:2*col),'all','omitnan');
end
end

Weitere Antworten (0)

Kategorien

Mehr zu Resizing and Reshaping Matrices finden Sie in Help Center und File Exchange

Produkte


Version

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by