如何将两个数组随机组合
小弟是个初学者,想问下各位老大“如何将两个不同维数的数组随机组合起来”?只需要组合起来就行了,没有别的要求了。小弟先谢谢啦!回复 楼主 的帖子
举个例子什么样的数组,最后形成什么样 数组A长度为p,数组B长度为n,新的数组C长度为p+n;其中的元素都来源于A和B,仅仅是位置的随机变化;我需要的就是由数组A和B能够得到大量新的数组,不知道我这样说有没有清楚。 呵呵,很清楚了。
C = ;
index = rand(1,p+n);
= sort(index);
C = C(index1);
没有安装matlab,随便写写吧。 嗯 我用Matlab试了下可以的。
大体思路是不是这样的:现将两个较小的数组合并,再生成一个符合长度要求的随机数组,通过对该数组进行排序并返回对应元素的序号,而这个由序号组成的数组正好是随机的,然后再按照这个顺序将较大的数组重新排列,这样新的到数组就是随机的了。
小弟受教了,谢谢这位老大啦! C = ;
C=C(randperm(p+n))
其实本质算法差不多。楼主知道有个randperm函数就行了,用起来方便。 收益非浅啊!希望各位老大以后多多提携小弟啊!再次感谢各位~
页:
[1]