Controlled Random Generator based off of two columns
3 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
I have two columns in Table A, the first column is randomly generats values between 10 and 3600 but the second column needs to be randomly generated based on the first columns values. The second column needs to be a value equal to or less than column 1's equivalent row and if the random value is lower and not equal to it, it must be divisible by traffic.R_P.
I tried the below for loop but of course it is generating random numbers not divisible by traffic.R_P. Not sure how to create a controlled random generator with values divisible by another column.
example is
traffic.R_P = [2500 1200 200 400]
traffic.XX = [2500 60 0 10] %CORRECT and Want
traffic.XX = [2400 60 1100 300] %Incorrect and what I am getting from below code
traffic.R_P = randi([1,36],TDT_Total_ID,1)*100; %is working fine and correctly populating
for T_row = 1 : TDT_Total_ID
traffic.XX(R_dith_row,1) = randi([1,(traffic.R_D(T_row,1)/10)],T_row,1)*10;
end
3 Commenti
dpb
il 25 Ago 2019
"t traffic.XX can be any values from 10 to 3600"
But in example
traffic.XX = [2500 60 0 10] %CORRECT and Want
you have a 0 element which the comment says is "%CORRECT and Want"???
Risposta accettata
dpb
il 25 Ago 2019
Modificato: dpb
il 25 Ago 2019
function x=trafficX(RP,LO)
% returns random count of X within upper limit RP but evenly divisible factor with lower limit LO
% LO is 10 by default
if nargin<2, LO=10; end % set default value if not provided explicitly
xx=[LO:10:RP]; % candidate values allowable
ix=find(fix(RP./xx)==RP./xx); % those evenly divisible
x=xx(randperm(numel(ix),1)); % return random selection from allowable subset
end
Use the above as
...
traffic.R_P = randi([1,36],TDT_Total_ID,1)*100;
traffic.XX=arrayfun(@trafficX(traffic.R_P));
...
0 Commenti
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Creating and Concatenating Matrices in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!