i have a important question!! ( function "randfixedsum" )
8 views (last 30 days)
Show older comments
Brian Kim on 28 Mar 2017
Answered: Roger Stafford on 28 Mar 2017
i successd in create matrix 'x' from "randfixedsum"
in here, 'x' is formed 'double'. and 'x' can recreate as integer by using "round", "ceil", or "floor"
by the way,
how to create 'x' by way for 'integer' by itself?
Roger Stafford on 28 Mar 2017
I think you might prefer to use the following code rather than using randfixedsum and rounding to integers:
function R = randfixedsumint(m,n,S);
% This generates an m by n array R. Each row will sum to S, and
% all elements are all non-negative integers. The probabilities
% of each possible set of row elements are all equal.
% RAS - Mar. 4, 2017
P = ones(S+1,n);
for in = n-1:-1:1
P(:,in) = cumsum(P(:,in+1));
R = zeros(m,n);
for im = 1:m
s = S;
for in = 1:n
R(im,in) = sum(P(s+1,in)*rand<=P(1:s,in));
s = s-R(im,in);
Find more on Logical in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!