A(B)=0 What is its meaning?

4 views (last 30 days)
zhenyu zeng
zhenyu zeng on 6 Mar 2019
Edited: Torsten on 6 Mar 2019
A=rand(5)
B=A>0.8
A(B)=0
Can you tell me what is A(B)=0 meaning?

Accepted Answer

Fangjun Jiang
Fangjun Jiang on 6 Mar 2019
B is a logical index matrix. You can see the value is 1 (true) or 0 (false) wherever the corresponding value in A is greater than 0.8.
A(B)=0 means for all those places where B's value is true, set the corresponding value in A to 0.
Use this example to see it better.
A=magic(5)
B=A>10
A(B)=0
  3 Comments
Torsten
Torsten on 6 Mar 2019
Edited: Torsten on 6 Mar 2019
It's the same as if you ask why MATLAB loops if you write
for i=1:n
...
end
It's just MATLAB syntax.
Look up "Logical indexing":
https://blogs.mathworks.com/loren/2013/02/20/logical-indexing-multiple-conditions/
Fangjun Jiang
Fangjun Jiang on 6 Mar 2019
It is a very efficient way for programming.

Sign in to comment.

More Answers (1)

Torsten
Torsten on 6 Mar 2019
Edited: Torsten on 6 Mar 2019
All numbers in the matrix A that are bigger than 0.8 are set to 0.

Tags

Products

Community Treasure Hunt

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

Start Hunting!