Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ver_7_Норм2.doc
Скачиваний:
44
Добавлен:
05.11.2018
Размер:
645.63 Кб
Скачать

Класс двумерных нормально распределенных случайных векторов

Структура и методы класса Norm_2

Система нормально распределенных СВ полностью определяется вектором МО и матрицей корреляционных моментов. Коэффициент корреляции не только характеризует систему, но и определяет особенности применения расчетных алгоритмов, поэтому его нужно включить в структуру класса Norm_2 отдельно, чтобы не вычислять по корреляционной матрице каждый раз, когда понадобится учитывать этот признак. Согласование коэффициента корреляции с матрицей корреляционных моментов обеспечивает сам объект: все изменения параметров объекта осуществляются функцией setval, которая при изменениях коэффициента корреляции пересчитывает матрицу, и наоборот, а также следит за тем, чтобы корреляционная матрица оставалась всегда симметричной, положительно определенной. В класс Norm_2 включены функции, необходимые как для проведения всех вычислений с объектами, так и для их корректного обслуживания:

Norm_2(varargin) –

конструктор объектов класса с вектором-столбцом МО m и матрицей корреляционных моментов K;

setval(X,a,b) –

изменяет параметры объекта m, s;

Net(X,a,b,n,ns) –

разбивает интервал [a,b] на n равных частей (по умолчанию n=50, a, b вычисляются функцией Total, ns=4);

RotAxes(X,a) –

пересчитывает параметры при повороте осей на угол a;

ToMainAxes(X) –

осуществляет переход к главным осям рассеивания;

f(X,x1,x2) –

вычисляет плотность распределения на сетке x1,x2;

Ver(X,v) –

вычисляет вероятность попадания СВ в v (полиморфно);

Gen(X,N) –

генерирует N случайных точек согласно закону распределения;

Y12(X,i,a) –

возвращает компоненты системы;

display(X) –

используется средой MATLAB для вывода параметров объекта на экран

ShowEl(X) –

Показывает единичный и полный эллипсы рассеивания

times(X,a) –

умножение СКО объекта X на число a

plus(X,a) –

сдвиг центра рассеивания на вектор-столбец a

Рис. 7.7. Статистические точки

Функции класса выполняют свою работу, эффективно взаимодействия друг с другом. Например, функция Gen при ненулевом коэффициенте корреляции сначала осуществляет переход к главным осям рассеивания с помощью ToMainAxes, генерирует N реализаций независимых СВ, а затем пересчитывает их координаты в исходной системе. Создадим объект класса Norm_2 и прямоугольник (экземпляр SmartRec), генерируем случайные точки (рис. 7.7) и сравним вероятность попадания, вычисленную функцией Ver, с частотой попаданий:

>> X=Norm_2([2;3],[3 4],0.4);R=SmartRec([3;1],[4 8]);

>> Z=Gen(X,100000);n=Impact(R,Z); n/100000, p=Ver(X,R)

ans = 0.1718 p = 0.2273

Изображение на рис. 7.7 объекты формируют сами:

plot(Z(1,1:900),Z(2,1:900),'r.'), Show(X),Show(R)

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]