A(B)=0 What is its meaning?

14 Ansichten (letzte 30 Tage)
zhenyu zeng
zhenyu zeng am 6 Mär. 2019
Bearbeitet: Torsten am 6 Mär. 2019
A=rand(5)
B=A>0.8
A(B)=0
Can you tell me what is A(B)=0 meaning?

Akzeptierte Antwort

Fangjun Jiang
Fangjun Jiang am 6 Mär. 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 Kommentare
Torsten
Torsten am 6 Mär. 2019
Bearbeitet: Torsten am 6 Mär. 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 am 6 Mär. 2019
It is a very efficient way for programming.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Torsten
Torsten am 6 Mär. 2019
Bearbeitet: Torsten am 6 Mär. 2019
All numbers in the matrix A that are bigger than 0.8 are set to 0.

Kategorien

Mehr zu Matrix Indexing finden Sie in Help Center und File Exchange

Tags

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by