insert ones at given position of matrix

10 Ansichten (letzte 30 Tage)
Phillip
Phillip am 4 Dez. 2017
Kommentiert: Phillip am 4 Dez. 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?

Akzeptierte Antwort

Stephen23
Stephen23 am 4 Dez. 2017
Bearbeitet: Stephen23 am 4 Dez. 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

Weitere Antworten (0)

Kategorien

Mehr zu Interactive Control and Callbacks finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by