Replacing values within a row of matrix with a vector?
1 view (last 30 days)
Show older comments
Basicly I have a matrix with only 0 and 1's.
a = [ 1 0 1 0;...
1 1 0 1;...
0 1 1 0;...
1 1 0 0];
And i want to replace the 1's in the first row with the vector
b = [2 5]
the number of 1's i want to replace will always be the same size as the vector b.
Is there any method for doing this??
Thanks
0 Comments
Accepted Answer
Wayne King
on 10 Oct 2013
There are a number of ways
a = [ 1 0 1 0;...
1 1 0 1;...
0 1 1 0;...
1 1 0 0];
b = [2 5];
idx = find(a(1,:) == 1);
a(1,idx) = b;
2 Comments
Jos (10584)
on 10 Oct 2013
You can remove the find and use logical indexing
tf = a(1,:)==1
a(1,tf) = b
More Answers (0)
See Also
Categories
Find more on Matrix Indexing in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!