Matrix printing with unique values

1 Ansicht (letzte 30 Tage)
Muhammad Bilal Qureshi
Muhammad Bilal Qureshi am 18 Okt. 2015
Kommentiert: Walter Roberson am 19 Okt. 2015
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 Kommentare
Martin Schätz
Martin Schätz am 18 Okt. 2015
Hi, can you post your script so I know what you are actualy doing?
Muhammad Bilal Qureshi
Muhammad Bilal Qureshi am 18 Okt. 2015
Bearbeitet: Walter Roberson am 19 Okt. 2015
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

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Martin Schätz
Martin Schätz am 18 Okt. 2015
Bearbeitet: Martin Schätz am 18 Okt. 2015
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 Kommentare
Martin Schätz
Martin Schätz am 18 Okt. 2015
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 am 19 Okt. 2015
Right, and more compactly,
dataresource_files = reshape(randperm(12),[4 3]);

Melden Sie sich an, um zu kommentieren.

Community Treasure Hunt

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

Start Hunting!

Translated by