i have matrix of 256*256 n i want to extract first 4*4 matrix of every 8*8 blocks of 256*256 matrix

Réponses (1)

Azzi Abdelmalek
Azzi Abdelmalek le 28 Mar 2014
Modifié(e) : Azzi Abdelmalek le 29 Mar 2014

1 vote

Edit
A=rand(256) % Example
idx=1:8:256
[jj,ii]=meshgrid(idx,idx)
B=cell2mat(arrayfun(@(ii,jj) A(ii:ii+3,jj:jj+3),ii,jj,'un',0))

8 commentaires

Jitesh Bhanushali
Jitesh Bhanushali le 28 Mar 2014
but i have matrix of 256*256 n i want to extract first 4*4 matrix of every 8*8 blocks of 256*256 matrix
Azzi Abdelmalek
Azzi Abdelmalek le 28 Mar 2014
This is another question, please edit your question
A=rand(256) % Example
idx=1:8:256
[jj,ii]=meshgrid(idx,idx)
B=arrayfun(@(ii,jj) A(ii:ii+3,jj:jj+3),ii,jj,'un',0)
Jitesh Bhanushali
Jitesh Bhanushali le 28 Mar 2014
not returning value of 4*4 matrix
B is a cell array containing all 4x4 arrays. Type
celldisp(B)
Jitesh Bhanushali
Jitesh Bhanushali le 29 Mar 2014
sir how to store that celldisp(B)...
Jitesh Bhanushali
Jitesh Bhanushali le 29 Mar 2014
i want to join that 4*4 matrix into a sigle matrix
cell2mat(B)

Connectez-vous pour commenter.

Catégories

En savoir plus sur Operators and Elementary Operations dans Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by