2013-11-04 25 views
2

我有一個60,000乘2的數組。第一列是數據1,第二列是數據2;兩者長度相等。我不確定如何正確地編寫語法來比較數據1到數據2,並且如果數據1大於數據2,則將其寫入第三列。反之亦然,如果數據2大於數據1.我已經開始構建一個for循環,但是我有語法問題比較列。Matlab - 如何比較兩個數組中的數據並輸出最大

回答

3

不需要循環。如果你只是想創建一個包含最大元素的60000×2矩陣的每一行向量可以使用max功能:

A = rand(6e4,2); % Random demo data 

B = max(A,[],2); 

或者,如果你那麼想直接把結果在第三列A

A(:,3) = max(A,[],2); 

閱讀文檔max。您會看到第三個參數中的2在輸入的每一行上應用了最大值函數A