JSFiddle - React, Tailwind, and code Playground
by Timatnet
HTML
Lab 5
<script type="text/javascript"
src="https://raw.github.com/Ivajkin/common.js/master/common.js"></script>
<p id="result"></p>
JavaScript
var λ = 5,
μ1 = 1,
μ2 = 3,
Tk = 10,
eps = 0.01;
var A = 0.0,
Pob = 0.0,
Potk = 0.0,
Ppr1 = 0.0,
Ppr2 = 0.0;
do {
difa = A;
difpob = Pob;
difpotk = Potk;
difppr1 = Ppr1;
difppr2 = Ppr2;
Tc = 0;
N = 0;
Nob = 0;
Notk = 0;
Tpr1 = 0;
Tpr2 = 0;
T1 = 0;
T2 = 0;
T3 = 0;
T4 = 0;
T = 0;
while (T1 <= Tk || T2 <= Tk || T3 <= Tk || T4 <= Tk) {
N += 1;
var r = Math.round(random() * 10) / 100.0;
if (r == 0.0) r = 0.1;
Tc = Tc - (1.0 / λ) * ln(r);
if (Tc >= T1) {
r = Math.round(random() * 10) / 100.0;
if (r == 0.0) r = 0.1;
Tpr1 += Math.abs(Tc - T1);
T1 = Tc - (1.0 / μ1) * ln(r);
Nob += 1;
continue;
}
else if (Tc >= T2) {
r = Math.round(random() * 10) / 100.0;
if (r == 0.0) r = 0.1;
Tpr2 += Math.abs(Tc - T2);
T2 = Tc - (1.0 / μ2) * ln(r);
Nob += 1;
continue;
}
else if (Tc >= T3) {
if (T1 <= T2) T3 = T1;
else T3 = T2;
continue;
}
else if (Tc >= T4) {
T4 = T3;
continue;
}
else {
Notk += 1;
}
}
A = Nob / Tk;
Pob = Nob / N;
Potk = Notk / N;
Ppr1 = Tpr1 / Tk;
Ppr2 = Tpr2 / Tk;
} while (abs(difa - A) >= eps || abs(difpob - Pob) >= eps || Math.abs(difpotk - Potk) >= eps || Math.abs(difppr1 - Ppr1) >= eps || Math.abs(difppr2 - Ppr2) >= eps);
$("#result").html(["A: " + A + "<br/>", "Pob: " + Pob + "<br/>", "Potk: " + Potk + "<br/>", "Ppr1: " + Ppr1 + "<br/>", "Ppr2: " + Ppr2 + "<br/>"].fold("", sum));