A is a matrix of size 32*32.I want to subtract elements of each 4*4 block of A from their respective 4*4 means
조회 수: 1 (최근 30일)
이전 댓글 표시
A is a matrix of size 32*32. out = blockproc(A,[4 4],@(x)mean(x.data(:)));
Using the above code, I am able to reduce A to 8*8 which is obtained by averaging each 4*4 blocks of A. Now, I want to subtract elements of each 4*4 block of A from their respective 4*4 means. Thanks !
댓글 수: 0
채택된 답변
추가 답변 (1개)
Fangjun Jiang
2020년 2월 12일
편집: Fangjun Jiang
2020년 2월 12일
A=rand(32);
out = blockproc(A,[4 4],@(x)mean(x.data(:)));
temp=repmat({ones(4,1)},8,1);
temp=blkdiag(temp{:});
Result=A-temp*out*temp'
%% or run below to see the effect
temp*magic(8)*temp'
참고 항목
카테고리
Help Center 및 File Exchange에서 Resizing and Reshaping Matrices에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!