필터 지우기
필터 지우기

Matrix printing with unique values

조회 수: 1 (최근 30일)
Muhammad Bilal Qureshi
Muhammad Bilal Qureshi 2015년 10월 18일
댓글: Walter Roberson 2015년 10월 19일
Hi, I want to print a (4x3) matrix with random values between 1 and 12. I have done but the problem is that first, I want to print all 12 values (no missing value between 1 and 12). The second problem is that no value in the matrix cells should be repeated.
  댓글 수: 2
Martin Schätz
Martin Schätz 2015년 10월 18일
Hi, can you post your script so I know what you are actualy doing?
Muhammad Bilal Qureshi
Muhammad Bilal Qureshi 2015년 10월 18일
편집: Walter Roberson 2015년 10월 19일
dataresource_files = zeros(4,3);
for i=1:4
dataresource_files(i,1) = unique(fix(12*rand+1));
dataresource_files(i,1) = randi([1 12]);
dataresource_files(i,2) = randi([1 12]);
dataresource_files(i,3) = randi([1 12]);
end
dataresource_files

댓글을 달려면 로그인하십시오.

답변 (1개)

Martin Schätz
Martin Schätz 2015년 10월 18일
편집: Martin Schätz 2015년 10월 18일
If you post some code I can elaborate and work with it, but like this I can only sugest to create vector from 1 to 12, permute it and reshape it to 4x3 matrix.
So the code would be like this:
dataresource_files = randperm(12);
dataresource_files = reshape(dataresource_files,[4 3]);
  댓글 수: 3
Martin Schätz
Martin Schätz 2015년 10월 18일
Hi again, with command randperm(n) your able to create random permutation where n = length of result and also ending number of permutation. So your code can be simplified like this:
dataresource_files = randperm(12);
dataresource_files = reshape(dataresource_files,[4 3]);
Each time you will run this code you will get new random order of numbers from 1 to 12 in array of 4x3 size.
Walter Roberson
Walter Roberson 2015년 10월 19일
Right, and more compactly,
dataresource_files = reshape(randperm(12),[4 3]);

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Matrices and Arrays에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by