2016-04-14 42 views
0

我有兩個矩陣的M×N,爲簡單起見,我們取4×4:Matlab的替換元件之間2矩陣

基質A:

1 4 2 5 
4 5 8 2 
3 4 5 6 
2 3 5 8 

矩陣B:

10 11 12 13 
56 11 23 45 
34 44 33 25 
25 63 35 78 

如果矩陣A的元素是大於5,則我們改變它從矩陣B.

最後,我們必須得到一個矩陣C:

1 4 2 5 
4 5 23 2 
3 4 5 25 
2 3 5 78 

我如何能做好,我應該使用類似的邏輯索引..

回答

4

是的,你應該使用邏輯索引:

C = A; 
C(C>5) = B(C>5); 

這意味着,在C每一個元素是>5設置爲B中的對應值。

C = A.*(A<=5) + B.*(A>5); 

在括號中的比較創建陣列與0和1,因此,第一乘法設定應從B採取的A到零的所有元素,以及第二乘法設置的B所有元素從零開始,應該從A開始。