choosing random vectors for 3 VAriables
조회 수: 6 (최근 30일)
이전 댓글 표시
i have made a vector like this x(1,i), i=1 to 10e6 in a m.file(this is my output format ) now i want to choose randomly 10000 of them and then showing those vectors. i have 3 random variables that all of them produced in a format like [x(1,i), i=1 to 10e6 ] now what should i do if i want to have in my output 10e4 randomly selected for each 3 variables??i mean 10e4 vectors (selected randomly) for my 3 variables.
댓글 수: 0
채택된 답변
Paulo Silva
2011년 6월 8일
I don't understand 100% of your question but I will try
x1=randperm(10e6); %generates a permutation of values from 1 to 10e6
x2=x1(1:10e4); %get only the first 10e4 values
%replace x1 in the second line by your vector if needed
댓글 수: 1
Sean de Wolski
2011년 6월 8일
And repeat Paulo's operation for the three variables. If you want all three variables to contain unique entries from x, then use x1 = randperm(10e6);x2 = x1(1:3*10e4) and extract each x2(1:10000);x2(10001:20000);etc.
추가 답변 (1개)
Jan
2011년 6월 8일
If you do this once, Paulo's solution is fine. If you have to do this 1000s of times, it might be a problem that RANDPERM(10e6) takes 13 seconds (on my old 1.5GHz PentiumM). Then you could use the faster FEX: Shuffle:
Index = Shuffle(10e6, 'index', 10e4);
This replies 10e4 indices taken randomly out of 1:10e6 as the RANDPERM command, but it needs 0.05 seconds olny.
Nevertheless, the question is not getting clear to me also. Please give an example for the values of the 3 variables.
댓글 수: 6
Jan
2011년 6월 9일
The question is still vague. Therefore I have to guess:
X = TruncatedGaussian(sigma, range, 1e7);
var1 = X(Shuffle(1e7, 'index', 1e5));
var2 = X(Shuffle(1e7, 'index', 1e5));
var3 = X(Shuffle(1e7, 'index', 1e5));
Or if the variables are not allowed to have common elements:
Index = Shuffle(1e7, 'index', 3*1e5);
var1 = X(Index(1:1e5));
var2 = X(Index(1e5+1:2*1e5));
var3 = X(Index(2*1e5+1:3*1e5));
Note: I've use the standard method "1e5" instead of your notation "10e4", which means "10.0 * 10^4".
If you want something else, please take the time to formulate all inputs and outputs exactly.
참고 항목
카테고리
Help Center 및 File Exchange에서 Logical에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!