MATLAB: Create zeros in matrix size, but not 1. column and row, or last column and row

matrixzeroes

Hi
I am trying to make a matrix where the middle has to be changed into zeros, f. ex. with magic(4)
v=magic(4)
v(2,2)=0; v(2,3)=0; v(3,2)=0; v(3,3)=0;
16 2 3 13
5 11 10 8
9 7 6 12
4 14 15 1
Here i want the 11, 10, 7 and 6 to be zeros. But need it to be done in random size matrix.
Pretty new in the whole matlab world.
Anyone whom can help?

Best Answer

v(2:3,2:3) = 0;
Note: This method only works for rectangular regions. For other shapes you need to use linear indexing.