Добавил:
kaslp1939@mail.ru Казимиров Леонид Петрович , инженер- механик по летательным аппаратам Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
СТАТИСТИЧЕСКОЕ МОДЕЛИРОВАНИЕСЛОЖНЫХ СИСТЕМ(АЛГОРИТМ И ПРОГРАММА).docx
Скачиваний:
0
Добавлен:
23.10.2021
Размер:
5.69 Mб
Скачать
  1. Постановка задачи

С ложная исследуемая система задана операторным уравнением

где Ф(х) – оператор преобразования входного воздействия Х и является математической моделью сложной системы.

На рис.1 показано графическое представление модели сложной системы

Рис.1. Графическое представление модели сложной системы

На вход подаётся вектор - ,

на выходе (после расчётов) подучаем - вектор –

  1. Инструкция по пользованию программой

Исследуемую методом статистических испытаний математическую модель сложной системы необходимо оформить в виде автономно запрограммированной процедуры F(X, У, П).

Значения формальных параметров процедуры:

Х - вектор случайных входных параметров модели;

У - вектор выходных параметров модели;

П - массив входных неслучайных параметров модели.

Для работы программы необходимо задать исходные данные в следующем порядке:

1. Переменные

Nmax - число реализаций – (целое число);

Q – размерностъ входного вектора Х [1…Q] – (целое число);

Nвых – размерность выходного вектора Y [1…Nвых] – (целое число);

W - число делений, на которое разбивается интервал для построения гистограммы и/или интервал изменения случайной величины при равномерном шаге (целое число);

Тип закона распределения и его параметры задаются в виде массива M[j,1] -

{=== M[j,1]- тип закона распределения

M[j,2]-мат.ожидание (для нормального закона);

M[j,3]-сигма (для нормального закона;

M[j,4]-min

M[j,5]-(max-min) ===}.

Используются обозначения:

Q - количество элементов случайного вектора X;

МК - массив констант, вычисляемых в процедуре OGR - массив , задающий режим работы процедуры

для каждой входной величины формируется своё число МК[вход],

которое равно МК[вход]= Xmax-Xmin

{--- Ограничения- макс.Nvux=100;ограничение не программное ---------}

{---- число входов Q=100; Nvux=100; w=100; w=1..100-максимальное число интервалов

В программе используется следующее обозначение массива, например:

raM100_10 = array [1 .. NvuxM, 1 .. 10] of extended;

Для плотности и функции распределения используется массив

raMPRFR = array [1 .. NvuxM, 1 .. WvuxM ] of extended;

(массив плотности распределения / функции распределения).

Другие массивы:

raX = array [1 .. QmaxM] of extended;

raF = array [1 .. NvuxM, 0 .. WvuxM ] of extended;

raM100_10 = array [1 .. NvuxM, 1 .. 10] of extended; и другие.

Описание всех массивов приведено в unit typeDATA;

Описание глобальных переменных – в unit Global_ID_Data;

Процедуры для обработки собраны в unit StatunitProcess;

Она содержит :

procedure OGR( M:raM100_10;var MBUX:raM100_10;Q,NMAX:integer;var MK:raX);

procedure MCCH( M:raM100_10; MK:raX;N,Q:integer;var X:raX);

procedure ctatobr(Y:raX;XMXBux,Bi,Ai,dy :raF;

var F, MPR,MFR,MX,MF,MXBux,F0:raF;

N,Nmax,W,Nvux:integer);

procedure ChetPdovFgamma (teta,lambda, P:extended; var Xmax:extended );

procedure Fgamma (X :extended; var gamma:extended );

procedure DateTimeStMyfile ( myfile,txt : string; var myfileName: string);

procedure DateTimeStMyfolder( myfolder : string; var myfolderName: string);

procedure DirMoveFile( myfileName ,myfolderName: string);

procedure CtatObrLimit(Y:raX;MBUX :raM100_10;

var XMXBux:raF; W,Nvux:integer);

procedure CtatObrPoickLimit(Y:raX; var XMXBux,Bi,Ai,dy, MF:raF; N,Nmax,W,Nvux:integer);

procedure CtatObrPoickLPdov(Mx,MFdov:raF;

Pdov,dX:extended;W,NomerBuxoda:integer; var Xpdov:raX);

В каждой содержится коментарий с описанием – что делает процедура.