Добавил:
Tushkan
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Лабораторные работы / Машеров (13 вариант) / lab6 / ПКОВ
.txt RandomAccess;
sigma0 := 2.4;
sigma1 := 2.9;
_alpha := 0.05;
_beta := 0.02;
n := 0;
{ Запусать файл ZadP2.STA}
sumsqr := 0;
k:=10;
{Генерация выборки Релея}
for i:=1 to k do
begin
x := sigma0 * sqrt(-2*log(rnd(1)));
n := n+1;
data(n,1) := x;
sumsqr := sumsqr + x^2;
end;
loop:
x := sigma0 * sqrt(-2*log(rnd(1)));
n := n+1;
data(n,1) := x;
sumsqr := sumsqr + x^2;
data(n,6) := sumsqr;
left := log(_beta/(1-_alpha)) - 2*n*log(sigma0/sigma1);
left := (-1) * left / (1/(2*sigma1^2) - 1/(2*sigma0^2));
data(n,4) := left;
right := log((1-_beta)/_alpha) - 2*n*log(sigma0/sigma1);
right := (-1) *right / (1/(2*sigma1^2) - 1/(2*sigma0^2));
data(n,5) := right;
if (sumsqr <= left) then
begin
data(1,2) := 2.4;
goto done;
end;
if (sumsqr >= right) then
begin
data(1,2) := 2.9;
goto done;
end;
goto loop;
done:
{Вывод данных}
data(2,2) := n;
data(1,3) := left;
data(2,3) := right;
data(4,3) := sumsqr;
{Вывод среднего числа измерений}
{если верна H0}
M := 2*log(sigma0/sigma1) - (sigma0^2)/(sigma1^2)+1;
{Вывод M}
data(6,3) := M;
data(7,3) := ( log(_beta/(1-_alpha))*(1- _alpha) + log((1-_beta)/_alpha) *_alpha) / M;
{если верна H1}
{Вывод M}
M := 2*log(sigma0/sigma1) + (sigma1^2)/(sigma0^2)-1;
data(8,3) := M;
data(9,3) :=( log(_beta/(1-_alpha))*_beta + log((1-_beta)/_alpha) *(1- _beta)) / M;
sigma0 := 2.4;
sigma1 := 2.9;
_alpha := 0.05;
_beta := 0.02;
n := 0;
{ Запусать файл ZadP2.STA}
sumsqr := 0;
k:=10;
{Генерация выборки Релея}
for i:=1 to k do
begin
x := sigma0 * sqrt(-2*log(rnd(1)));
n := n+1;
data(n,1) := x;
sumsqr := sumsqr + x^2;
end;
loop:
x := sigma0 * sqrt(-2*log(rnd(1)));
n := n+1;
data(n,1) := x;
sumsqr := sumsqr + x^2;
data(n,6) := sumsqr;
left := log(_beta/(1-_alpha)) - 2*n*log(sigma0/sigma1);
left := (-1) * left / (1/(2*sigma1^2) - 1/(2*sigma0^2));
data(n,4) := left;
right := log((1-_beta)/_alpha) - 2*n*log(sigma0/sigma1);
right := (-1) *right / (1/(2*sigma1^2) - 1/(2*sigma0^2));
data(n,5) := right;
if (sumsqr <= left) then
begin
data(1,2) := 2.4;
goto done;
end;
if (sumsqr >= right) then
begin
data(1,2) := 2.9;
goto done;
end;
goto loop;
done:
{Вывод данных}
data(2,2) := n;
data(1,3) := left;
data(2,3) := right;
data(4,3) := sumsqr;
{Вывод среднего числа измерений}
{если верна H0}
M := 2*log(sigma0/sigma1) - (sigma0^2)/(sigma1^2)+1;
{Вывод M}
data(6,3) := M;
data(7,3) := ( log(_beta/(1-_alpha))*(1- _alpha) + log((1-_beta)/_alpha) *_alpha) / M;
{если верна H1}
{Вывод M}
M := 2*log(sigma0/sigma1) + (sigma1^2)/(sigma0^2)-1;
data(8,3) := M;
data(9,3) :=( log(_beta/(1-_alpha))*_beta + log((1-_beta)/_alpha) *(1- _beta)) / M;