MATLAB Answers

0

A(B)=0 What is its meaning?

zhenyu zeng さんによって質問されました 2019 年 3 月 6 日
最新アクティビティ Torsten
さんによって 編集されました 2019 年 3 月 6 日
A=rand(5)
B=A>0.8
A(B)=0
Can you tell me what is A(B)=0 meaning?

  0 件のコメント

サインイン to comment.

タグ

製品

2 件の回答

Fangjun Jiang
回答者: Fangjun Jiang
2019 年 3 月 6 日
 採用された回答

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 件のコメント

zhenyu zeng 2019 年 3 月 6 日
I knew what is its meaning now. But can you tell me why matlab do this?
Torsten
2019 年 3 月 6 日
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
2019 年 3 月 6 日
It is a very efficient way for programming.

サインイン to comment.


Torsten
回答者: Torsten
2019 年 3 月 6 日
編集済み: Torsten
2019 年 3 月 6 日

All numbers in the matrix A that are bigger than 0.8 are set to 0.

  0 件のコメント

サインイン to comment.



Translated by