Matrix printing with unique values

1 次查看(过去 30 天)
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
编辑: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 中查找有关 Logical 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by