MATLAB: Replacing values within a row of matrix with a vector

matrixreplace

Basicly I have a matrix with only 0 and 1's.
a = [ 1 0 1 0;...
1 1 0 1;...
0 1 1 0;...
1 1 0 0];
And i want to replace the 1's in the first row with the vector
b = [2 5]
the number of 1's i want to replace will always be the same size as the vector b.
Is there any method for doing this??
Thanks

Best Answer

There are a number of ways
a = [ 1 0 1 0;...
1 1 0 1;...
0 1 1 0;...
1 1 0 0];
b = [2 5];
idx = find(a(1,:) == 1);
a(1,idx) = b;