Set Matrix Elements based on Coordinates Matrix

Hello
lets say i have a matrix C with Coordinates ... C = [2 3; 4 4];
And a matrix M = zeros(4);
Now i want to set some elements in M based on coordinates from C.
How can i do this without forloop?

 Accepted Answer

You can use sub2ind to convert you coordinate array to linear indices. Then you can use normal indexing to set values.
C = [2 3; 4 4];
M=zeros(4,4);
ind=sub2ind(size(M),C(:,1),C(:,2));
M(ind)=1;
disp(M)
0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1

More Answers (0)

Categories

Asked:

DF
on 2 Feb 2021

Edited:

Rik
on 2 Feb 2021

Community Treasure Hunt

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

Start Hunting!