MATLAB: Matrix indexing, getting back the original matrix.

indexingMATLABmatrix

Hi,
I have a matrix
mat= [ 1 2 3 4 5 6 7 8 9; ...
1 2 3 4 5 6 7 8 9; ...
1 2 3 4 5 6 7 8 9; ...
1 2 3 4 5 6 7 8 9; ...
1 2 3 4 5 6 7 8 9; ...
1 2 3 4 5 6 7 8 9; ...
1 2 3 4 5 6 7 8 9; ...
1 2 3 4 5 6 7 8 9; ...
1 2 3 4 5 6 7 8 9];
and I sub-sample it using the simple command
newMat= mat(1:4:end, 1:4:end);
Is there a way later on to get back the indexes I lost from the original matrix, if I want to reconstruct it in a new matrix likewise
newMat2= zeros(size(mat, 1), size(mat, 2));
newMat2(1:4:end, 1:4:end) = newMat;
So what I want is to replace the columns and rows I lost with lets say NaN.

Best Answer

Were you looking to get something like this?
mat= [ 1 2 3 4 5 6 7 8 9; ...
1 2 3 4 5 6 7 8 9; ...
1 2 3 4 5 6 7 8 9; ...
1 2 3 4 5 6 7 8 9; ...
1 2 3 4 5 6 7 8 9; ...
1 2 3 4 5 6 7 8 9; ...
1 2 3 4 5 6 7 8 9; ...
1 2 3 4 5 6 7 8 9; ...
1 2 3 4 5 6 7 8 9];
selCol = 1:4:size(mat,2);
selRow = 1:2:size(mat,1);
newMat= mat(selRow, selCol);
newMat2= NaN*zeros(size(mat));
newMat2(selRow,selCol) = newMat;
newMat2 =
1 NaN NaN NaN 5 NaN NaN NaN 9
NaN NaN NaN NaN NaN NaN NaN NaN NaN
1 NaN NaN NaN 5 NaN NaN NaN 9
NaN NaN NaN NaN NaN NaN NaN NaN NaN
1 NaN NaN NaN 5 NaN NaN NaN 9
NaN NaN NaN NaN NaN NaN NaN NaN NaN
1 NaN NaN NaN 5 NaN NaN NaN 9
NaN NaN NaN NaN NaN NaN NaN NaN NaN
1 NaN NaN NaN 5 NaN NaN NaN 9