Clear Filters
Clear Filters

make some matrices from one matrix without repeating the same numbers

1 view (last 30 days)
Hi I have matrix A
A=[1:1000]
I randomly made matrix B on the basis of 20 percent of (numel(A)) like that:
B= randi(1000,[1 200])
then I calculate difference between this two matrix and named it sdB.
sdB=setdiff(A,B)
now I want to determine matrix C on the basis of 20 percent of (numel(A) (it means 200 numbers) from matrix sdB. Then calculate difference between matrix B and C (or sdC). this process must be continue until in sum all 1000 numbers are determined. Is it possible to guide me please?

Accepted Answer

Thorsten
Thorsten on 4 Nov 2015
Using B= randi(1000,[1 200]) you don't get 200 unique numbers. If your goal is to split the numbers from 1 to 1000 in random order into 5 chunks of 200 numbers, use
R = randperm(1000);
for i = 1:5
A(i,:) = R([1:200]+(i-1)*200);
end
A(i,:) is then your i'th set of 200 numbers randomly picked from 1000, but without repetitions.
  2 Comments
fatema saba
fatema saba on 6 Nov 2015
Thank you Thorsten, however is it possible to vectorise this code and concise it?

Sign in to comment.

More Answers (0)

Tags

No tags entered yet.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!