How to randomly exchange 2 entries in a column?
조회 수: 2 (최근 30일)
이전 댓글 표시
Hi, I have
a=[ 1 2;
3 4;
2 1;
4 5;
5 3]
I want to choose randomly any 2 entries from a column and exchange them. For example, I randomly choose entries 2 and 5 from the second column, exchange these two entries to become
b=[ 1 5;
3 4;
2 1;
4 2;
5 3]
How am I going to make this? Thanks in advance.
댓글 수: 0
채택된 답변
Star Strider
2014년 10월 1일
This seems to work:
[r,c] = size(a); % ‘a’ Row, Col Size
cc = randi(c); % Choose Random Column
rc = randi(r, 1, 2); % Choose Random Rows
b = a; % Create ‘b’
b(rc,cc) = a(fliplr(rc), cc) % Swap Rows of Chosen Column
댓글 수: 0
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Creating and Concatenating Matrices에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!