Matlab-矩阵的划分
可能重复:Matlab-矩阵的划分,matlab,partitioning,Matlab,Partitioning,可能重复: 我有一个有100行的矩阵a,我想把它随机分成两个矩阵,一个有70行a,另一个有剩余的30行。这是如何做到的?我确实花了很长时间使用Matlab,但这应该是可行的: 首先,我们寻找一个随机数来分割矩阵。 然后,我们将所有到这个因子的行存储在B中,其余的存储在C中 split = round(rand(1)*100); B = A[1:split, :]; C = A[(split+1):100, :]; 就像你说的,这是分裂。它将连续的行放在同一分区中。这不是我想要的。我希望它是可
我有一个有100行的矩阵a,我想把它随机分成两个矩阵,一个有70行a,另一个有剩余的30行。这是如何做到的?我确实花了很长时间使用Matlab,但这应该是可行的: 首先,我们寻找一个随机数来分割矩阵。 然后,我们将所有到这个因子的行存储在B中,其余的存储在C中
split = round(rand(1)*100);
B = A[1:split, :];
C = A[(split+1):100, :];
就像你说的,这是分裂。它将连续的行放在同一分区中。这不是我想要的。我希望它是可能的,例如,有第一,第五行在第一分区,第二,第三,…第六等在第二分区哦,对不起,那么我误解了你。我认为分裂点应该是随机的。无论如何,看看你问题下面Jonas的链接,它应该能回答你的问题。好吧,从技术上讲,它不是重复的,因为Glup是在问如何随机分割,而不是简单地在第70行之后切割矩阵。@gnovice:重复问题的答案使用randperm生成两个随机分数。区别在于一个问题是1/3对2/3,而另一个问题是0.3对0.7。@Jonas:哎呀,我在另一个问题中没有提到随机性,但答案中有提到。这个问题当然应该被编辑,以使它更为清晰,更为一般,这样以后就可以很容易地找到它。@gnovice:done-ish。请看一下是否需要进一步改进。