如何在MATLAB中随机分离数据

时间:2014-04-30 23:33:20

标签: arrays matlab random

假设我们有一个存储数据的数组,

data=[1 2 3 4 5 6 7 8 9 10;
      10 9 8 7 6 5 4 3 2 1];

然后我想将数据随机分成两个数组,一个包含3列数据,另外7个,我想的是使用randperm函数,

index = randperm(10,3);

然后

data1 = data(:,index);

我的问题是如何表示包含原始数据集的其他剩余7列的其他数据集?谢谢。

2 个答案:

答案 0 :(得分:3)

你可以这样做:

index = randperm(10);
data1 = data(:,index(1:3));
data2 = data(:,index(4:10));

答案 1 :(得分:1)

根据具体情况,可能会感觉更直观的替代解决方案。

index = randperm(10,3);
data1 = data(:,index);
data(:,index) = [];

请注意,当您尝试从巨大的(稀疏)矩阵中绘制一些值时,这尤其有吸引力。