Replace some elements in a Matrices with brief code.
2 views (last 30 days)
Show older comments
The variables which can be copy/paste to Matlab.
a = [5 6 7 9 1 2 5 6 3 8 9 0];
A = [1 3 6 2;2 4 1 9; 2 3 5 6];
B = a(A);
From the variables above,
Matrix B is [5 7 2 6; 6 9 5 3; 6 7 1 2]. However, Actually the condition is set to >=6 which are replaced by the element in Matrix A. So, the desired result is:
DesiredResult = [5 3 2 2; 2 4 5 3; 2 3 1 2];
2 Comments
Guillaume
on 8 Mar 2019
Edited: Guillaume
on 8 Mar 2019
Don't use looping/for. But, can use other function such as "find".
Where do these requirements come from? Is this homework?
Actually the condition is set to >=6 which are replaced by the element in Matrix A
Anyway, you've pretty much written the one line required with that statement. find is not even necessary.
Accepted Answer
Stephen23
on 8 Mar 2019
>> a = [5,6,7,9,1,2,5,6,3,8,9,0];
>> x = [1,3,6,2;2,4,1,9;2,3,5,6];
>> b = a(x);
>> y = b>=6;
>> b(y) = x(y)
b =
5 3 2 2
2 4 5 3
2 3 1 2
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!