From a matrix how can I randomly select one column combination at a time

2 次查看(过去 30 天)
Suppose I have
A = [ 1 0 0
0 1 1
1 1 0]
I would like to get any column based on value of a random number, and send to another matrix with the other two columns successively.

回答(1 个)

Image Analyst
Image Analyst 2021-5-13
编辑:Image Analyst 2021-5-13
This will do it:
A = [ 1 0 0
0 1 1
1 1 0]
[rows, columns] = size(A)
% Get a random column.
randomColumn = randi(columns)
% Get indexes of the other columns.
otherColumns = setdiff(1:columns, randomColumn)
% Take that random column, and tack on the other columns to the right of it.
outputMatrix = A(:, [randomColumn, otherColumns])
For example:
A =
1 0 0
0 1 1
1 1 0
randomColumn =
2
otherColumns =
1 3
outputRowVector =
0 1 0
1 0 1
1 1 0

类别

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

Community Treasure Hunt

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

Start Hunting!

Translated by