MATLAB Answers

A(B)=0 What is its meaning?

16 ビュー (過去 30 日間)
zhenyu zeng
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 件のコメント

サインインしてコメントする。

採用された回答

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

サインインしてコメントする。

その他の回答 (1 件)

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

サインインしてコメントする。

タグ

製品


Translated by