A(B)=0 What is its meaning?

5 visualizzazioni (ultimi 30 giorni)
zhenyu zeng
zhenyu zeng il 6 Mar 2019
Modificato: Torsten il 6 Mar 2019
A=rand(5)
B=A>0.8
A(B)=0
Can you tell me what is A(B)=0 meaning?

Risposta accettata

Fangjun Jiang
Fangjun Jiang il 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 Commenti
Torsten
Torsten il 6 Mar 2019
Modificato: Torsten il 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 il 6 Mar 2019
It is a very efficient way for programming.

Accedi per commentare.

Più risposte (1)

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

Categorie

Scopri di più su Resizing and Reshaping Matrices in Help Center e File Exchange

Tag

Prodotti

Community Treasure Hunt

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

Start Hunting!

Translated by