我有類似以下矩陣的數據: A = [2 5 10 4 10; 2 4 5 1 2; 6 2 1 5 4];如何根據特定行(Matlab)中包含的條件對列進行排序?
A =
2 5 10 4 10
2 4 5 1 2
6 2 1 5 4
我想通過基於以下標準中的最後一行來排序:
如果第一元件之間和第二元件的差值(第三行中)(在第三行)小於或等於2 - 然後移動該列(在這種情況下第二列向右兩列)。然後,對於所有列執行此操作,直到沒有任何兩個元件(最後一行的)是2的差)
乙內=
2 5 4 10 10
2 4 1 5 2
6 2 5 1 4
凡(6-2 = 4)(2-5 = 3 )(5-1 = 4)(1-4 = 3)
最終的最後一行和元素的所有元素之間的差在它旁邊是大於2
任何建議更大?
當兩列之間的差爲小於或等於2,應的列的最右列被比較總是移動**恰好2列到右側**?該算法的逐步解釋將有助於理解你正在嘗試做什麼。第二個示例矩陣在澄清算法時也很有用,因爲'B'可以從'A'到達,只有一個變化:第3列第4列。 – nrz
從最左邊的列開始,我比較最後一列中包含的元素數據行。我在比較6比2,差異大於2,所以在第二列 - 第二列和第三列小於 - 時,第二列移動到第四列。此時沒有兩個元素的差異小於2,因此它是完整的。 – Kenny
澄清 - 算法的唯一目的是確保最後一行中相鄰元素之間的差異不小於或等於2. – Kenny