MATLAB: Creating a new matrix from two matrixes

arrayindexmatrix

Suppose I have a matrix a:
a = [9,1;1,1;3,1;2,1;5,1;6,1;8,1;1,1;2,1;5,1;8,1;2,1];
And I have another matrix b which is like some selected index number of matrix a:
b = [4;10;7]; % for example 4 means forth row in matrix a which is (2,1) here
So, I need to have a new matrix c in that way present those rows in matrix a which are indicated in matrix b and others array be equal to 0:
c = [0,0;0,0;0,0;2,1;0,0;0,0;8,1;0,0;0,0;5,1;0,0;0,0;]; % for example forth row is (2,1) because 4 row is presented in matrix b

Best Answer

c = zeros(size(a));
c(b,:) = a(b,:);