insert ones at given position of matrix

7 visualizaciones (últimos 30 días)
Phillip
Phillip el 4 de Dic. de 2017
Comentada: Phillip el 4 de Dic. de 2017
I'm stuck on this probably very simple thing - I have this matrix:
rd = zeros(4, 6);
and x is meant to be the position I would like to insert a 1:
x = [3 1 3 1 1 1];
to obtain this:
0 1 0 1 1 1;
0 0 0 0 0 0;
1 0 1 0 0 0;
0 0 0 0 0 0;
Would anybody please be able to help?

Respuesta aceptada

Stephen23
Stephen23 el 4 de Dic. de 2017
Editada: Stephen23 el 4 de Dic. de 2017
Use sub2ind:
>> rd = zeros(4,6);
>> x = [3,1,3,1,1,1];
>> rd(sub2ind(size(rd),x,1:numel(x))) = 1
rd =
0 1 0 1 1 1
0 0 0 0 0 0
1 0 1 0 0 0
0 0 0 0 0 0

Más respuestas (0)

Categorías

Más información sobre MATLAB en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by