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

Файл typedata.Pas

Содержит unit typeDATA – где приводятся описания типов переменных. Там же приведены переменные типа const, предельные значения которых равны

QmaxM=100; // размерность входного вектора

nNvuxM=100; // размерность выходного вектора

wmaxM =100; // число интервалов для гистограммы

NomerZM=6; // число законов для входного вектора

Эти значения определяют границы массивов в unit Global_ID_Data;

Чтобы изменить границы массивов (размерности векторов) надо задать новые значения QmaxM и NvuxM (допустимо только в меньшую сторону). Число интервалов для построения гистограммы WvuxM можно не изменять, значение WvuxM =100 достаточно, чтобы перекрыть возможные требования.

Листинг typeDATA

unit typeDATA; { ---- 17 августа 1993 г. ---- }

{ --- статистическое моделирование параметров СНС ------------------- }

interface

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

{ ---- число входов Q=100; число выходов Nvux=100;

w=50-число интервалов ---- }

{ --- type raX=array[1..Q=100] of extended; raM=array[1..Q=100,1..7] of extended;

--- raY=array[1..Nvux= 100] of extended; raF=array[1..Nvux=100,1..w=50] of extended;

--- raMF=array[1..Nvux,1..6] of extended;

--- raPF=array[0..w] of extended;;

--- raMPRFR=array[1..Nvux=100,0..w=50] of extended;

M[i,j]- i-строка; j- столбец;

----------------------- }

const

QmaxM=100; // размерность входного вектора

nNvuxM=100; // размерность выходного вектора

wmaxM =100; // число интервалов для гистограммы

NomerZM=6; // число законов для входного вектора

type

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

// raXim = array [1 .. 10] of extended;

{--- type raX=array[1..Q] of extended; raM=array[1..Q,1..7] of extended;

--- raY=array[1..Nvux] of extended; raF=array[1..Nvux,1..w] of extended;

--- raMF=array[1..Nvux,1..8] of extended; raF0=array[1..w+1] of extended;

--- iaK=array[1..Q] of integer; raPF=array[0..w] of extended;

--- raMPRFR=array[1..Nvux,0..w] of extended; ----------------------- }

vekt = array [1 .. 3] of extended;

vektcoord = array [1 .. 24] of vekt;

yCos = array [1 .. 3] of vekt;

ycoordPointY = array [1 .. 24] of extended;

matrix = array [1 .. 3, 1 .. 3] of extended;

raMatric3_3 = array [1 .. 3, 1 .. 3] of extended;

// raAB100 = array [1 .. 100, 1 .. 100] of extended;

raiDPoint = array [1 .. 4, 1 .. 6] of extended;

raiDVector = array [1 .. 3, 1 .. 15] of extended;

raCrdNaT = array [1 .. 4, 1 .. 3] of extended;

ra5 = array [1 .. 20, 1 .. 5] of extended;

// raF = array [1 .. 100, 0 .. 100 ] of extended;

raF = array [1 .. nNvuxM, 0 .. wmaxM] of extended;

{

for m:= 1 to Nvux do begin

for i:= 0 to W do

begin

strFormatMX[m ,i]:= FloatToStrF(MX[m ,i], ffGeneral,6, 2); //Xmin

MX[m ,i]:= StrToFloat(strFormatMX[m ,i]);

}

dopraF = array [1 .. nNvuxM, 0 .. wmaxM+5] of extended;

// raF=array[1..Nvux,1..w] of extended;

// raF = array [1 ..nNvux= 20, 1 .. w=50] of extended;

// raMF = array [1 ..nNvux= 20, 1 .. 8] of extended;

// raMF = array [1 .. nNvuxM, 1 .. 10] of extended;

// --- raMF=array[1..Nvux,1..8] of extended; raF0=array[1..w+1] of extended;

// --- iaK=array[1..Q] of integer; raPF=array[0..w] of extended;

// {--- type raX=array[1..Q] of extended;

// raM=array[1..Q,1..7] of extended;

{ yKolesa } vekt5 = array [1 .. 5] of extended;

ra12 = array [1 .. 12] of extended;

// raF0=array[1..w+1] of extended;

raF0_100 = array [0 .. wmaxM] of extended;

raPF0_100 = array [0 .. wmaxM] of extended;

// raMPRFR=array[1..Nvux,0..w] of extended;

raMPRFR = array [1 .. nNvuxM, 1 .. wmaxM] of extended;

// raAPoint = array [1 .. 4] of string;

raX0_101 = array [0 .. QmaxM+1] of extended;

raString0_101 = array [0 .. QmaxM+1] of String;

// BUXStatProm, BXStatProm:raX0_101;

// BXBUX: raX0_101;

int = integer;

rea = real;

ext = extended;

// strFormatMPR , strFormatMFR, strFormatMX :raString100_100;

raString100_100 = array [1 .. nNvuxM, 0 .. wmaxM] of string;

{

for m:= 1 to Nvux do begin

for i:= 0 to W do

begin

strFormatMX[m ,i]:= FloatToStrF(MX[m ,i], ffGeneral,6, 2); //Xmin

MX[m ,i]:= StrToFloat(strFormatMX[m ,i]);

strFormatMPR[m ,i]:= FloatToStrF(MPR[m ,i], ffGeneral,6, 2); //Xmin

MPR[m ,i]:= StrToFloat(strFormatMPR[m ,i]);

}

raX100 = array [1 .. 100] of extended;

// strFormatMPR[m ,wmaxM]:= FloatToStrF(MPR[m ,i], ffGeneral,6, 2); //Xmin

// MPR[m ,i]:= StrToFloat(strFormatMPR[m ,i]);

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

raStringW100 = array [1 .. wmaxM] of string;

// StrNomerZ : raString20 ;

// raString20 = array [1 .. NomerZM] of string; //массив законов

raString100 = array [1 .. 100] of string;

raStringNomerZ = array [1 .. NomerZM] of string;

// var StrNomerZ :raStringNomerZ;

raStringNvux = array [1 .. nNvuxM] of string;

raStringBxoda = array [1 .. QmaxM] of string;

raString12 = array [1 .. 12] of string;

//Тип - динамический массива переменных.

TArr = array of extended;

// StrNomerJNvux: raString100;

// var StrNomerZ :raString100;

// StrNomerJBxoda: raString100;

// StrNomerJRBuxoda: raString50;

// strFormat: raString100;

implementation

end.