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 Kommentare

Guillaume
Guillaume am 8 Mär. 2019
Bearbeitet: Guillaume am 8 Mär. 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 am 8 Mär. 2019
it is not a homework.. I just wanna use simple code.

Melden Sie sich an, um zu kommentieren.

 Akzeptierte Antwort

Stephen23
Stephen23 am 8 Mär. 2019

1 Stimme

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

Weitere Antworten (0)

Kategorien

Produkte

Version

R2018a

Gefragt:

am 8 Mär. 2019

Bearbeitet:

am 8 Mär. 2019

Community Treasure Hunt

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

Start Hunting!

Translated by