我有类似以下矩阵的数据: 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