查看单个帖子
旧 2019-12-10, 20:30   #1
poster
高级会员
 
注册日期: 2019-11-21
帖子: 3,006
声望力: 66
poster 正向着好的方向发展
帖子 我需要订购依赖于另一个列表的列表。如何更改两个列表?

我有一个Matlab程序,该程序生成一个列表x = 6.1692 8.1863 5.8092 8.2754 6.0891该程序还输出另一个列表aspl = 680637669669599693。

这两个列表的长度相等,并且列表x中的第一个元素与列表aspl中的第一个元素相关。我需要绘制两个列表的图,但希望列表aspl从最小到最大依次排列。我将如何去做呢?如果我需要将aspl中的第一个元素移动到列表中的位置4,那么列表x中的第一个元素也需要移动到列表x中的位置4。上面的数字并不重要,它们只是示例,实际程序会产生混乱的数字。

例如x = 6.1692 8.1863 5.8092 8.2754最初

aspl = 680 637 669 599 693 将aspl更改为升序后,这就是x的外观。

x = 5.8092 8.1863 5.8092 6.1692 8.2754

aspl = 599637669680693



回答:

使用排序的第二个输出:

%# sort aspl, get new order of aspl [sortedAspl, sortOrder] = sort(aspl); %# reorder x the same way as aspl sortedX = x(sortOrder);

更多&回答...
poster 当前离线   回复时引用此帖