MATLAB: Creating a random matrix with specific values random Hello, Can someone guide me how to generate a random matrix in Matlab with only specific values in it. For example, lets say I need a 1*100 element array with values only 0,90,180 in it. How can I do it using Matlab. Many Thanks Best Answer valueset = [0, 90, 180];desiredsize = [1, 100];desiredmatrix = valueset(randi(numel(valueset), desiredsize)) Related SolutionsMATLAB: Random numbers help randdoc rand MATLAB: Random x = [1 2 3 4 56 7 8 9 1011 12 13 14 1516 17 18 19 20];EDIT after Mohammad's coment[m,n] = size(x);df = bsxfun(@plus,fullfact(m*ones(1,n)),(0:n-1)*m);k = randperm(size(df,1));out = x(df(k(1:min(100,numel(k))),:));OR[m,n] = size(x);xc = mat2cell(x,m,ones(n,1));cc = cell(1,n);[cc{:}] = ndgrid(xc{:});k = randperm(numel(cc{1}));out = cell2mat(cellfun(@(x)x(k(1:min(100,numel(k)))'),cc,'un',0)); Related QuestionSearch specific layer of multidimensional matrix for range of valuesRandom distribution with specific total amountGenerate random numbers with specific propertiesReturn values for specific set of indicesRandom numbers within a specific range
Best Answer