Replace some elements in a Matrices with brief code.

2 views (last 30 days)
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
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.
Lin Nuo
Lin Nuo on 8 Mar 2019
it is not a homework.. I just wanna use simple code.

Sign in to comment.

Accepted Answer

Stephen23
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)

Products


Release

R2018a

Community Treasure Hunt

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

Start Hunting!