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

Community Treasure Hunt

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

Start Hunting!

Translated by