move data in randomly

1 次查看(过去 30 天)
Takim Mustakim
Takim Mustakim 2021-9-7
suppose I have a 1 x 10 matrix : [ 1 3 2 5 4 7 6 9 8 0] and want to move it to A and B how to randomly move the dataset by generating output percentages of 60 A and 40 B.
Example output : A : [ 1 2 5 7 8 0 ] and B : [ 3 4 6 9 ]

回答(1 个)

Image Analyst
Image Analyst 2021-9-8
See this well commented solution:
% Create sample data.
v = [ 1 3 2 5 4 7 6 9 8 0]
% Find out how many values we need to send to A.
numIndexes = round(0.6 * length(v))
% Get random indexes.
AIndexes = randperm(length(v), numIndexes);
% Extract those indexes from v and put them into a new vector called A
A = v(AIndexes)
% Whatever is in v that is not already in A, put those into B using setdiff()
B = setdiff(v, A)

类别

Help CenterFile Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息

产品


版本

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by