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

1 vue (au cours des 30 derniers jours)
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

Réponse acceptée

C B
C B le 12 Oct 2021
Modifié(e) : C B le 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

Plus de réponses (0)

Catégories

En savoir plus sur Logical dans Help Center et File Exchange

Produits


Version

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by