Как случайным образом сгенерировать Oct-Tuple с SML - PullRequest
0 голосов
/ 10 октября 2018

Редактировать: Вот код, который у меня есть для генерации окт-кортежей пациентов.( спасибо Анону за то, что он дал мне подсказку о том, как рассчитать взвешенную вероятность / установить начальное значение )

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;

Теперь у меня вопрос, как перейти к индексированию логического списка?

1 Ответ

0 голосов
/ 10 октября 2018

Итак, я искал некоторую помощь в определении моего окт-кортежа, чтобы закончить мой проект, и вот, я вижу, что кто-то публикует весь мой проект в надежде получить ответ.И не только это, но я почти уверен, что мы в одном классе, и вы думаете, что опубликовать это накануне вечером перед проектом - это то, что делает ответственный студент?Я уверен, что никто на 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)

Именно так я решил сделать взвешенную часть вероятности, вы можете приравнять ее к другим взвешенным участкам, если вы креативны,Удачи.

...