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?

 Réponse acceptée

Rik
Rik le 2 Fév 2021
Modifié(e) : Rik le 2 Fév 2021
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

Plus de réponses (0)

Catégories

Question posée :

DF
le 2 Fév 2021

Modifié(e) :

Rik
le 2 Fév 2021

Community Treasure Hunt

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

Start Hunting!

Translated by