# I am trying to make a zeros matrix where certain places is replaced by a 1

1 view (last 30 days)
Helene Maja Graff-Nielsen on 12 Oct 2021
I have created a 3x8 matrix of zeroes where i am trying to get place (1,1) and (1,8) and (3,4) to be replaced by ones. so it would look like this:
1 0 0 0 0 0 0 1
0 0 0 0 0 0 0 0
0 0 0 1 0 0 0 0
i have tried to wrote some code for this but i couldn't get it to work.
i have trid this:
b=zeros(3,8)
b([1,3],[1,4,8])=1
but this gives me a matrix that looks like this:
1 0 0 1 0 0 0 1
0 0 0 0 0 0 0 0
1 0 0 1 0 0 0 1

Chetan Bhavsar on 12 Oct 2021
Edited: Chetan Bhavsar on 12 Oct 2021
b=zeros(3,8);
r = [1 1 3]; % row
c = [1 8 4]; % column
idx = sub2ind(size(b),r,c);
b(idx) = 1;
b
b = 3×8
1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
Helene Maja Graff-Nielsen on 12 Oct 2021
thanks! exactly what i needed!

### Categories

Find more on Logical in Help Center and File Exchange

R2021a

### Community Treasure Hunt

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

Start Hunting!