如何比較矩陣列與每列前一列?有沒有辦法做到這一點,而沒有幾個for
循環?使用MATLAB比較列
2
A
回答
1
想比較每一項與其左側的項目?
X=yourMatrix
emptycolumn = zeros(size(X,1),1)
comparison = [X emptycolumn]==[emptycolumn X]
很明顯,第一列和最後一列都是假的,並不意味着任何廢棄它們的東西。
或者,如果你想比較整列是否是一樣的,並得到結果的單行,只需使用all(comparison,1)
1
是
elementsAreEqualToElementToTheLeft = array(:,2:end) == array(:,1:end-1);
columnsAreEqualToColumsToTheLeft = all(elementsAreEqualToElementsToTheLeft,1);
2
對於一個矩陣M
,下面的代碼將爲您提供一個邏輯行向量,其中0(false)和1(true)的邏輯行向量表示給定列和前一列之間的所有元素是否相等(忽略第一列,因爲沒有以前的列):
columnsAreEqual = all(diff(M,1,2) == 0);
對於包含整數值的矩陣M
,這將工作正常。但是,如果您正在處理浮點值,則使用函數來計算列元素之間的差異可能會導致非常小的非零值,這是由於浮點數的表示方式。由於即使非常小的值仍然不等於零,因此您需要爲以下差異選擇一些容差值,您會認爲兩個數字實際上相等:
tolerance = 1e-6; %# Any differences smaller than this are considered 0
columnsAreEqual = all(abs(diff(M,1,2)) < tolerance);
相關問題
- 1. 使用MATLAB比較圖像
- 2. 使用MATLAB比較文件
- 3. Matlab中的陣列比較
- 4. Matlab的比較
- 5. matlab雙比較
- 6. MATLAB Array比較
- 7. MATLAB:比較陣列以陣列
- 8. 使用Matlab來比較不同單元格陣列中的列
- 9. 使用Matlab進行圖像比較
- 10. 比較標籤matlab
- 11. 比較圖像matlab
- 12. 數值比較MATLAB
- 13. matlab圖像比較
- 14. Matlab的:比較陣列其他數組
- 15. matlab中細胞陣列的比較
- 16. 使用VBA宏比較列
- 17. 使用LAG並比較列
- 18. 使用Python比較列表?
- 19. 使用python比較列表
- 20. 比較多個矩陣matlab
- 21. 如何比較與MATLAB
- 22. MATLAB中的時間比較
- 23. 在MATLAB中逐行比較
- 24. 使用linq查詢比較列與列
- 25. 比較超過2成比例matlab的
- 26. 用matlab比較兩張圖片
- 27. 使用比較器來比較對象內的浮動列表
- 28. c#列表比較器使用兩個比較元素
- 29. 使用無法比較的文件比較列表
- 30. 比較使用==
M(:,1:結束-1)== M(:,2:結束)' – Amro 2010-08-19 16:38:35