Creating a new matrix from two matrixes

1 view (last 30 days)
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

Accepted Answer

James Tursa
James Tursa on 29 Oct 2014
c = zeros(size(a));
c(b,:) = a(b,:);

More Answers (0)


Find more on Matrices and Arrays in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by