A(B)=0 What is its meaning?

4 vues (au cours des 30 derniers jours)
zhenyu zeng
zhenyu zeng le 6 Mar 2019
Modifié(e) : Torsten le 6 Mar 2019
A=rand(5)
B=A>0.8
A(B)=0
Can you tell me what is A(B)=0 meaning?

Réponse acceptée

Fangjun Jiang
Fangjun Jiang le 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 commentaires
Torsten
Torsten le 6 Mar 2019
Modifié(e) : Torsten le 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 le 6 Mar 2019
It is a very efficient way for programming.

Connectez-vous pour commenter.

Plus de réponses (1)

Torsten
Torsten le 6 Mar 2019
Modifié(e) : Torsten le 6 Mar 2019
All numbers in the matrix A that are bigger than 0.8 are set to 0.

Catégories

En savoir plus sur Matrix Indexing dans Help Center et File Exchange

Tags

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by