Hi, I want to divide a 1x5872 matrix into 8x8 blocks. Can someone guide me please

3 views (last 30 days)
Hi, I want to divide a 1x5872 matrix into 8x8 blocks. Can someone guide me please.

Answers (1)

Geoff Hayes
Geoff Hayes on 7 Jan 2023
@javad danesh - you could use reshape to manipulate your array into a set of 8x8 blocks. Since 5872 is not divisible by 64, you would need to pad it. For example,
x = randi(256,1,5872);
xPadded = [x zeros(1,16)];
xReshaped = reshape(xPadded, 8, 8, length(xPadded)/64);
The first 64 elements of xPadded make up the first 8x8 block of xReshaped, etc.

Community Treasure Hunt

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

Start Hunting!