将matlab中学到的代码知识心得汇总汇总,供自己以后复习学习用,温故而知新!首先开始量的积累,然后再去总结归纳!
(一)randperm函数、randsample函数
(1)randperm:random permutation,随机排列的意思。
randperm(n) 将1至n的序列打乱随机排列。如:
>>randperm(5)
ans = 5 3 4 1 2
randperm(m,n) 将前m个数中选取n个数进行随机排列,易知
。
>>randperm(8,5)
ans = 5 7 9 8 3
本人在学习中还发现randperm的其他用途:
1)如想要选取某一某一个向量A=[a1,a2,...,an]中的任一个数。则可以通过代码:
>>A( randperm(length(A),1) )
ans = A中随机选取任一个数,且所有数被选中的概率相等。
(2)randsample:Random sample,随机取样。
randsample(n,k) 与randperm(n,k)的功能相同。
randsample(n,k,replacement) 同上,replacement表示是否允许重复,1表示k个元素可以有重复的,0表示不可以重复。
>> randsample(10,5,true)
ans =
3
6
10
10
2
>> randsample(10,5,false)