How do I form a matrix from an array of rows and columns

A=ones(10)
a=[1 3 5 6 9]
b=[1 2 4 7 9]
A(a,b)=0 should provide A(1,1)=0 A(3,2)=0 A(5,4)=0 A(6,7)=0 A(9,9)=0

 Accepted Answer

A=ones(10);
a=[1 3 5 6 9];
b=[1 2 4 7 9];
A(sub2ind(size(A), a,b)) = 0;
A
A = 10×10
0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1

More Answers (1)

A(a + (b-1)*size(A,1)) = 0

1 Comment

A=ones(10);
a=[1 3 5 6 9];
b=[1 2 4 7 9];
A(a + (b-1)*size(A,1)) = 0
A = 10×10
0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1

Sign in to comment.

Asked:

on 19 Nov 2023

Edited:

on 19 Nov 2023

Community Treasure Hunt

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

Start Hunting!