对于大型数组Undo-sort不工作

1视图(30天)
你好,
我想取消一个以这种方式:
> > = (1、2、5、4、3];
> > [b,我]= (a);
> > isequal (b) (I))
ans =
1
但是当我尝试与一个更大的数据集是行不通的。
> > [ue_seq_sorted,我]=排序(ue_seq);
> > isequal (ue_seq_sorted(我),ue_seq)
ans =
0
> >谁
的名字大小字节属性
1 x98635789080年
ue_seq1 x98635789080年
ue_seq_sorted1 x98635789080年
数据有更大的整数,例如:
98633年到98635年
135673517 135674897 135673517
有另一种排序/撤销排序吗?
谢谢你!
亲切的问候,马丁
1评论
弗里德里希
弗里德里希 2012年3月8日
它也失败:a = [1、2、5、4、3、3];
你为什么需要撤销那种?你已经排序的结果吗?

登录置评。

接受的答案

1月
1月 2012年3月8日
所示方法甚至不适合小数组。为你匹配的例子的结果只是一个例外。
第二的输出 排序 逆排序索引。
请试试这个(我目前没有访问Matlab):
[ue_seq_sorted,我]=排序(ue_seq);
指数(I) = 1:长度(ue_seq);
1评论
弗里德里希
弗里德里希 2012年3月8日
1月是正确的,还要看文档:
[B,第九]=(…),返回一个数组排序的指标第九,在大小(IX) = =大小(A)。如果是一个矢量,B =(第九)。
所以b = (I)而不是= b(我)! !

登录置评。

更多的答案(0)

类别

找到更多的在运营商和基本操作帮助中心文件交换

标签

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!