我想选择一个向量的随机子集,就像datasample(data,k)
,但是我希望它们按顺序排列。
我有一个ODE,它具有[t,y]
输出,y
是我想要的一个子集。我不能只做一个sort
因为y
不是线性的,所以我不得不相对于进行排序t
。
有什么想法我可以做到这一点吗?
如果我理解正确,那么您想对保持原始顺序的元素进行采样。您可以这样操作:
那是:
result = data(sort(randsample(numel(data), k)));
上面使用randsample
了统计工具箱中的功能。另外,在最新的Matlab版本中,您可以使用以下两种输入形式randperm
:
result = data(sort(randperm(numel(data), k)));
例如,给定
data = [61 52 43 34 25 16];
k = 4;
可能的结果是
result =
61 43 34 25
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句