# i have a important question!! ( function "randfixedsum" )

2 Ansichten (letzte 30 Tage)
Brian Kim am 28 Mär. 2017
Beantwortet: Roger Stafford am 28 Mär. 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?
##### 0 Kommentare-1 ältere Kommentare anzeigen-1 ältere Kommentare ausblenden

Melden Sie sich an, um zu kommentieren.

### Antworten (2)

Roger Stafford am 28 Mär. 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
if ceil(m)~=m|ceil(n)~=n|ceil(S)~=S|m<1|n<1|S<0
error('Improper arguments')
else
P = ones(S+1,n);
for in = n-1:-1:1
P(:,in) = cumsum(P(:,in+1));
end
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);
end
end
end
return
##### 0 Kommentare-1 ältere Kommentare anzeigen-1 ältere Kommentare ausblenden

Melden Sie sich an, um zu kommentieren.

KSSV am 28 Mär. 2017
doc uint8
##### 2 Kommentare1 älteren Kommentar anzeigen1 älteren Kommentar ausblenden
KSSV am 28 Mär. 2017
Bearbeitet: KSSV am 28 Mär. 2017
uint8 covers double to int.
x_int = uint8(x) ;

Melden Sie sich an, um zu kommentieren.

### Kategorien

Mehr zu Numeric Types finden Sie in Help Center und File Exchange

### Community Treasure Hunt

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

Start Hunting!