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

2 vues (au cours des 30 derniers jours)
Ali Almakhmari
Ali Almakhmari le 12 Juin 2022
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

Réponse acceptée

Chuguang Pan
Chuguang Pan le 12 Juin 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

Plus de réponses (0)

Catégories

En savoir plus sur Resizing and Reshaping Matrices dans Help Center et File Exchange

Produits


Version

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by