0
我想根據邏輯數組將元素的一些元素轉換爲零。作爲索引的邏輯數組在MATLAB中將元素轉換爲零
假設我們有一個隨機5 x 5
矩陣:
b =
0.0344 0.1869 0.7547 0.1190 0.2238
0.4387 0.4898 0.2760 0.4984 0.7513
0.3816 0.4456 0.6797 0.9597 0.2551
0.7655 0.6463 0.6551 0.3404 0.5060
0.7952 0.7094 0.1626 0.5853 0.6991
和我有零和一的具有相同尺寸的數組:
a =
0 1 1 0 0
1 0 1 1 0
1 1 0 1 1
0 1 1 0 1
0 0 1 1 0
做a(logical(b))
給我,我要找的元素,但是以矢量形式:
ans =
0.4387
0.3816
0.1869
0.4456
0.6463
0.7547
0.2760
0.6551
0.1626
0.4984
0.9597
0.5853
0.2551
0.5060
我怎樣才能得到下面的矩陣呢?
0 0.1869 0.7547 0 0
0.4387 0 0.2760 0.4984 0.7513
0.3816 0.4456 0 0.9597 0.2551
0 0.6463 0.6551 0 0.5060
0 0 0.1626 0.5853 0
你可以做'B(A == 0)= 0;'要更短。我會說這更明確地說明你想要做什麼而不是使用'〜邏輯(a)'。 – rayryeng 2015-04-01 00:15:58
你也可以做一個元素乘法'。*'。 – knedlsepp 2015-04-01 00:20:45