Replace some elements in a Matrices with brief code.

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

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.
it is not a homework.. I just wanna use simple code.

Sign in to comment.

 Accepted Answer

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

Asked:

on 8 Mar 2019

Edited:

on 8 Mar 2019

Community Treasure Hunt

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

Start Hunting!