creating matrix of unique integeres
Mostrar comentarios más antiguos
I need to create a matrix of size 2*6, with elements as the integers from 1 through 12. None of these integers can repeat. I tried the following way. Is there some other way to do it with the use of loop instead of using randperm function?
clear all
vec = zeros(6,2);
vec1 = randperm(12);
for i = 1:12
vec(i) = vec1(i);
end
disp(vec)
2 comentarios
Geoff Hayes
el 18 de Feb. de 2015
Nabin - what is wrong with using randperm? Is it because the output is not a 2x6 matrix? If test is the case, then use reshape to change the twelve element array output of randperm to a 2x6 matrix.
Nabin SUNAM
el 18 de Feb. de 2015
Respuestas (1)
Image Analyst
el 18 de Feb. de 2015
You don't need to use randperm at all. Here's a way that uses loops and meets all your criteria:
k = 1;
for col = 1 : 6
for row = 1 : 2
vec(row, col) = k;
k = k + 1;
end
end
Categorías
Más información sobre Operators and Elementary Operations en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!