How can I replace value of specific cell value depending on another matrix?
1 view (last 30 days)
Show older comments
Mohammad Hossain
on 4 Apr 2018
Commented: Mohammad Hossain
on 4 Apr 2018
A=[8 3 1; 0 0 0; 7 9 7; 5 5 5; 1 4 5]; D=[5 5 0; 7 9 0]; How can I compare between A and D depending on the first two columns and update the D matrix like,
D_modified=[5 5 5; 7 9 7];
0 Comments
Accepted Answer
More Answers (1)
Akira Agata
on 4 Apr 2018
If some rows in D does not have corresponding rows in A, need some more trick. Here is an example.
% Sample data (1st and 4th row of D has no corresponding row in A)
A = [8 3 1; 0 0 0; 7 9 7; 5 5 5; 1 4 5];
D = [5 4 0; 7 9 0; 8 3 0; 8 2 1];
[~,loc] = ismember(D(:,1:2),A(:,1:2),'rows');
idx = loc ~= 0;
D_modified(idx,:) = A(loc(idx),:);
See Also
Categories
Find more on Data Types 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!