【发布时间】:2016-12-23 17:13:05
【问题描述】:
我有一个包含 36 个值的向量,我想将它随机分成两个向量。 (第一个向量有 25 个值,第二个有 11 个值)。
我已经编写了这段代码(使用 MATLAB),但是当我在原始向量中有重复值时,由于这个命令,我不会在第二个向量中获得 11 个样本
Second_vec = setdiff(orignal_Vec,First_vec);
clear;
load('U1_Acc_TimeD_FDay.mat' );
orignal_Vec=(Acc_TD_Feat_Vec (:,1));
Total_Samples = size(orignal_Vec,1);
Selected_Samples = 25;
assert(Selected_Samples<=Total_Samples);
rand_rows = randperm(Total_Samples, Selected_Samples);
First_vec = orignal_Vec(rand_rows,:); % Select the random rows from the original Vector
Second_vec = setdiff(orignal_Vec,First_vec);
【问题讨论】:
-
使用
randperm为您的数据生成索引和索引。 -
亲爱的 Excaza,如果您看到我上面的代码!我已经使用它来创建第一个向量,但我希望原始向量中的剩余值位于第二个向量中。
-
你为什么要删除你的代码?您应该回滚该编辑并将代码示例保留在那里,以便人们可以看到您做了什么以及它对您不起作用,以便与接受的答案进行比较。
-
哦,对不起,我以为我会迷惑别人,非常感谢你让我知道,我会附上它:)。顺便说一句,我想知道您是否可以帮助我解决新问题stackoverflow.com/questions/41295449/…,因为我已经在此处附上了完整的代码以避免重复。亲切的问候。
标签: matlab