Изменить: Вот код, который у меня есть до сих пор для создания терпеливых окт-кортежей.
(спасибо Anon за то, что дал мне бост о том, как рассчитать взвешенную вероятность / установить начальное значение)
fun genPatients(x:int) =
let
val seed=let
val m=Date.minute(Date.fromTimeLocal(Time.now()))
val s=Date.second(Date.fromTimeLocal(Time.now()))
in Random.rand(m,s)
end;
val survivalrate = ref(1)
val numl = ref(1)
val td = ref(1)
val xray = ref(false)
val count= ref(0)
val emnum= ref(1000)
val ageList = [1, 2, 3, 3];
val xrayList=[false,true];
val age = Random.randRange (0, 3) seed;(* random age*)
val nextInt1 = Random.randRange(0, 1)(* random xray*)
val r1 = Random.rand(1,1)
val nextInt2 = Random.randRange(1, 10000000)(* random td*)
val r2 = Random.rand(1,1)
val r1hold= ref(1);
in
while !count < x do
(
count:= !count + 1;
List.nth(ageList, age);
r1hold:= nextInt1 r1;
td:= nextInt2 r2;
(!emnum,age,survivalrate,numl,[],[],xray,td);
emnum:= !emnum + 1
)
end;
Мой вопрос сейчас заключается в том, как теперь индексировать логический список?
Так что я искал некоторую помощь в определении моего окт-кортежа, чтобы закончить мой проект, и вот, я вижу, что кто-то публикует весь мой проект в надежде получить ответ. Не только это, но я почти уверен, что мы в одном классе, и вы думаете, что опубликовать это за ночь до того, как закончится проект, это то, что делает ответственный студент? Я уверен, что никто на SO так и не сделает твою домашнюю работу, на самом деле, я даже не уверен, что это разрешено.
Может быть, сделать какую-то работу, а затем попросить помощи, когда вы на самом деле что-то сделали Или, может быть, на следующем этапе попробуйте немного сложнее.
РЕДАКТИРОВАТЬ: Я дам вам кое-что, чтобы вы начали.
Для расчета взвешенной вероятности вам нужно семя.
val seed=let
val m=Date.minute(Date.fromTimeLocal(Time.now()))
val s=Date.second(Date.fromTimeLocal(Time.now()))
in Random.rand(m,s)
end;
Вот один Тогда вы можете рассчитать вероятность, по крайней мере, для возраста, как это:
val ageList = [1, 2, 3, 3];
val ageInt = Random.randRange (0, 3) seed;
List.nth(ageList, ageInt)
Именно так я решил сделать взвешенную часть вероятности, вы можете приравнять это к другим взвешенным разделам, если вы креативны. Удачи.
Других решений пока нет …