Форум программистов, компьютерный форум, киберфорум
Наши страницы
Pascal ABC
Войти
Регистрация
Восстановить пароль
 
veryn4ik1993
0 / 0 / 0
Регистрация: 05.01.2014
Сообщений: 1
1

Критерий Колмогорова - Смирнова

08.01.2014, 17:58. Просмотров 393. Ответов 0
Метки нет (Все метки)

Здравствуйте! Помогите, пожалуйста, у меня есть програмка, которая проверяет критерий Колмогорова-Смирновадля генератора случайных.
Вот она:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
program A_A_Kolm;
 
type arDouble=array of Double;
 
// сортировка по возрастанию
procedure Puzyrek(var x:arDouble); 
var t:Double;
i,j,N:Integer;
begin
N:=Length(x);
if N<2 then Exit;
for i:=0 to N-2 do
for j:=0 to N-2 do
if x[j]>x[j+1] then
begin
t:=x[j+1];
x[j+1]:=x[j];
x[j]:=t;
end;
end;
 
// вычисление критерия Колмогорова для равномерного распр.
function krKolmgr(x:arDouble;a,b:Double):Double;
var n,i:Integer;
df,dfmax:Double;
begin
n:=Length(x);
krKolmgr:=-1; 
if n<2 then Exit;
Puzyrek(x);
dfmax:=0;
for i:=0 to n-1 do
begin
df:=Abs((i+1)/n-(x[i]-a)/(b-a));
if df>dfmax then dfmax:=df;
end;
krKolmgr:=dfmax*Sqrt(n);
end;
 
// функция распределения Колмогорова
function Kolmogor(lam:Double):Double; 
var i,k,n:Integer;
s:Double;
begin
Kolmogor:=-1;
if lam<0 then Exit;
Kolmogor:=0;
if lam<0.2 then Exit;
Kolmogor:=1;
if lam>3.5 then Exit;
n:=Round(5.5/lam)+5;
s:=0;
if Odd(n)then k:=-1 else k:=1;
for i:=-n to n do
begin
s:=s+k*Exp(-2*i*i*lam*lam);
k:=-k;
end;
Kolmogor:=s;
end;
 
// пример - проверка генератора Random
// равномерно распределенные на интервале 0..1 числа 
var alph : Double;
xrnd:arDouble;
i:Integer;
const N=30; 
begin
Randomize;
SetLength(xrnd,N);
for i:=0 to N-1 do xrnd[i]:=Random;
alph:=1-Kolmogor(krKolmgr(xrnd,0,1));
WriteLn(alph:0:6); // достигнутый уровень значимости
ReadLn; 
end.
мне нужно за место генератора Random воткнуть свой:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
program r;
var
f: array[0..1001] of integer;
i: integer;;k:integer;
begin
k:=0;
i := 1;
f[0]:=1;
f[1]:=1;
while (i < 1001) do
begin
f[i+1]:=(f[i]+f[i-1]) mod 10;
write(f[i-1], ' ');
end;
end.
Помогите пожалуйста
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.01.2014, 17:58
Ответы с готовыми решениями:

критерий выбора языка
Имеется текстовый файл, определить язык (рус.,англ) файла и выдать на экран...

Написать программу для нахождения некоторых критерий о числах
Плиз напишите прогу!!!!!!! очень надо 1 Дано натуральное число.Найти...

Почему в Statistica критерий согласия называется Колмогорова-Смирнова, а не Колмогорова?
Друзья! Разъясните, пожалуйста, почему в Statistica критерий согласия...

Рассчитать критерий Колмогорова-Смирнова
Есть выборка из 1300 значений, которая хранится в файле 1.txt, нужно рассчитать...

Найти критерий Колмогорова-Смирнова
Добрый день. Прошу помочь с решением следующей задачи: задана...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.01.2014, 17:58

Критерий Шапиро-Уилка и Колмогорова-Смирнова
Проверяется выборка на нормальность распределения. Критерий...

Критерий Колмогорова
Используя критерий Колмогорова, при уровне значимости 0.05 по выборке проверить...

Критерий Пирсона и Колмогорова
У меня такой вопрос. Может ли гипотеза о нормальном распределении выборки...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru