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

Antworten (1)

Azzi Abdelmalek
Azzi Abdelmalek am 28 Mär. 2014
Bearbeitet: Azzi Abdelmalek am 29 Mär. 2014

1 Stimme

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 Kommentare

Jitesh Bhanushali
Jitesh Bhanushali am 28 Mär. 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 am 28 Mär. 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 am 28 Mär. 2014
not returning value of 4*4 matrix
B is a cell array containing all 4x4 arrays. Type
celldisp(B)
Jitesh Bhanushali
Jitesh Bhanushali am 29 Mär. 2014
sir how to store that celldisp(B)...
Jitesh Bhanushali
Jitesh Bhanushali am 29 Mär. 2014
i want to join that 4*4 matrix into a sigle matrix
cell2mat(B)

Melden Sie sich an, um zu kommentieren.

Kategorien

Gefragt:

am 28 Mär. 2014

Bearbeitet:

am 29 Mär. 2014

Community Treasure Hunt

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

Start Hunting!

Translated by